2011-04-15 81 views
24

的长度正如标题暗示:实体框架4.1代码第一种方法:如何定义属性

怎么可能告诉实体框架4.1代码中第一种方法,我确实需要一些属性(在特定类型的字符串)有256的长度,或nvarchar(最大),或...

因此,如果这是我的例子模型

public class Book{ 
    public string Title { get; set; } //should be 256 chars 
    public string Description {get;set} //should be nvarchar(max) 
} 

怎么可能被定义?

在此先感谢!

+0

可能的重复[实体框架验证混淆 - 最大字符串长度'128'。](http://stackoverflow.com/questions/5414611/entity-framework-validation-confusion-maximum-string-length-of- 128) – 2011-04-15 14:31:53

+0

@Ladislav是的,它几乎是重复的,但稍有不同!我想出了如何:只需使用DataAnnotation,例如[StringLength(1000)]或[MaxLength] – 2011-04-15 14:35:11

回答

43

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

正如我的意见陈述,这很简单。
只需使用[StringLength(1000)][MaxLength]DataAnnotation