entity framework代码First MaxLength和FixedLegth(char vs varchar)

我有一个entity frameworkCodeFirst模型,我从现有的数据库创建,我想使用DataAnnotations以不同的方式装饰一些char和varchar。

char和varchar之间的区别在于Char具有固定长度并且varchar具有可变长度。

对于Varchar我正在使用[Maxlength(length)]对于char这是正确的方法还是有更好的方法来定义类中的字符串属性被映射为数据库中的char?

使用流畅的api,您可以使用IsFixedLength():

//Set StudentName column size to 50 and change datatype to nchar //IsFixedLength() change datatype from nvarchar to nchar modelBuilder.Entity() .Property(p => p.StudentName) .HasMaxLength(50).IsFixedLength(); 

使用注释,您可以指定类型:

 [Column(TypeName = "char")] [StringLength(2)] public string MyCharField { get; set; }