开发者

Entity Framework 4.1 code first approach: how to define length of properties

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!


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);


As is stated in my comment, it's simple.
Just use [StringLength(1000)] or [MaxLength] from DataAnnotation.


You can use the following way If you want a Maximum string length

[StringLength(Int32.MaxValue)]

Or

[MaxLength]

Or

Property(m => m.Title ).IsRequired().HasMaxLength(128);

Or

[MaxLength(256)]
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜