Entity Framework Code First MaxLength 和 FixedLegth(char 与 varchar)
Entity Framework Code First MaxLength and FixedLegth (char vs varchar)
我有一个 Entity Framework 从现有数据库创建的 CodeFirst 模型,我想使用 DataAnnotations 以不同的方式装饰一些 char 和 varchar。
char和varchar的区别在于Char是定长的,varchar是变长的。
对于 Varchar,我使用 [Maxlength(length)] 对于 char,这是正确的方法还是有更好的方法来定义 class 中的字符串 属性 被映射为数据库中的一个字符?
使用流利的 api 你可以使用 IsFixedLength():
//Set StudentName column size to 50 and change datatype to nchar
//IsFixedLength() change datatype from nvarchar to nchar
modelBuilder.Entity<Student>()
.Property(p => p.StudentName)
.HasMaxLength(50).IsFixedLength();
使用注释,您可以指定类型:
[Column(TypeName = "char")]
[StringLength(2)]
public string MyCharField { get; set; }
我有一个 Entity Framework 从现有数据库创建的 CodeFirst 模型,我想使用 DataAnnotations 以不同的方式装饰一些 char 和 varchar。
char和varchar的区别在于Char是定长的,varchar是变长的。
对于 Varchar,我使用 [Maxlength(length)] 对于 char,这是正确的方法还是有更好的方法来定义 class 中的字符串 属性 被映射为数据库中的一个字符?
使用流利的 api 你可以使用 IsFixedLength():
//Set StudentName column size to 50 and change datatype to nchar
//IsFixedLength() change datatype from nvarchar to nchar
modelBuilder.Entity<Student>()
.Property(p => p.StudentName)
.HasMaxLength(50).IsFixedLength();
使用注释,您可以指定类型:
[Column(TypeName = "char")]
[StringLength(2)]
public string MyCharField { get; set; }