可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
As the title implies:
how is it possible to tell Entity Framework 4.1 in code first approach, that i do want some properties (in particular of type string) to have a length of 256, or nvarchar(max), or...
So if this is for example my model
public class Book{ public string Title { get; set; } //should be 256 chars public string Description {get;set} //should be nvarchar(max) }
how could it be defined?
Thanks in advance!
回答1:
In EF4.1 RTW default length is nvarchar(max) for SQL Server and nvarchar(4000) for SQL CE. To change the length use either StringLength
or MaxLength
annotations or fluent mapping HasMaxLength
:
[StringLength(256)] public string Title { get; set; }
Or
[MaxLength(256)] public string Title { get; set; }
Or
modelBuilder.Entity<Book>() .Property(p => p.Title) .HasMaxLength(256);
回答2:
As is stated in my comment, it's simple.
Just use [StringLength(1000)]
or [MaxLength]
from DataAnnotation
.