问题
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
.
来源:https://stackoverflow.com/questions/5678190/entity-framework-4-1-code-first-approach-how-to-define-length-of-properties