正如标题所暗示的那样:
如何在代码第一种方法中告诉Entity Framework 4.1,我确实希望某些属性(特别是类型字符串)的长度为256,或者nvarchar(max),或者......
所以,如果这是我的模型
public class Book{
public string Title { get; set; } //should be 256 chars
public string Description {get;set} //should be nvarchar(max)
}
怎么定义?
提前致谢!
答案 0 :(得分:43)
在EF4.1 RTW中,SQL Server的默认长度为nvarchar(max),SQL CE的默认长度为nvarchar(4000)。要更改长度,请使用StringLength
或MaxLength
注释或流畅映射HasMaxLength
:
[StringLength(256)]
public string Title { get; set; }
或者
[MaxLength(256)]
public string Title { get; set; }
或者
modelBuilder.Entity<Book>()
.Property(p => p.Title)
.HasMaxLength(256);
答案 1 :(得分:3)
正如我的评论所述,这很简单
只需使用[StringLength(1000)]
中的[MaxLength]
或DataAnnotation
。
答案 2 :(得分:0)
您可以使用以下方式 如果你想要一个最大字符串长度
[StringLength(Int32.MaxValue)]
或
[MaxLength]
或
Property(m => m.Title ).IsRequired().HasMaxLength(128);
或
[MaxLength(256)]