Skip to main content
 首页 » 编程设计

mapping之Entity Framework 4.1 代码优先方法 : how to define length of properties

2024年11月24日13dyllove98

正如标题所暗示的:

如何在代码优先方法中告诉 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) 
} 

怎么定义?

提前致谢!

请您参考如下方法:

在 EF4.1 RTW 中,SQL Server 的默认长度为 nvarchar(max),SQL CE 的默认长度为 nvarchar(4000)。要更改长度,请使用 StringLengthMaxLength注释或流畅的映射HasMaxLength :

[StringLength(256)] 
public string Title { get; set; } 

或者
[MaxLength(256)] 
public string Title { get; set; } 

或者
modelBuilder.Entity<Book>() 
            .Property(p => p.Title) 
            .HasMaxLength(256);