如何在EF代码中首先映射Sql server的文本字段类型?

时间:2011-11-13 11:09:36

标签: c# sql-server entity-framework entity-framework-4.1

我有一个

1)我的Sql server中的文本字段类型,我想将它映射到Entity framework 4.1 Code First。我怎么能这样做?

2)在POCO类中声明字符串变量时,它会映射到Sql Server中的nvarchar。它如何映射到varchar?我很确定我的数据总是英文而不是多语言。

提前致谢:)

2 个答案:

答案 0 :(得分:10)

使用此:

public class Foo
{
    [Column(TypeName = "ntext")]
    [MaxLength]
    public string TextProp {get; set;}
}

这应该在Sql Server中创建ntext列而不是nvarchar。

答案 1 :(得分:0)

我相信您可以使用属性

指定列的映射类型
[Column(TypeName = "text")]
public string TextField { get; set; }

你也可以为varchar做这个,我发现这篇博文包含了将EF默认使用nvarchars转换为varchars的代码,但我没有测试帖子中提供的代码 -

http://johncoder.com/Post/EFCodeFirstDisableUnicodeforallStringProperties