Entity Framework Code First MaxLength and FixedLegth (char vs varchar)

c# code-first entity-framework-6 mysql

Question

I have an Entity Framework CodeFirst model that I'm creating from existing Database and I want to decorate some char and varchar in different way using DataAnnotations.

Difference between char and varchar is that the Char has fixed length and varchar have variable length.

For Varchar I'm using [Maxlength(length)] For char is this the correct way or there is a better way to define that the string property in the class is mapped as a char in the Database?

1
6
9/13/2015 8:51:49 PM

Accepted Answer

With the fluent api you can use 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();

With annotations, you can dictate the type:

[Column(TypeName = "char")]
[StringLength(2)]
public string MyCharField { get; set; }
14
9/14/2015 2:06:40 AM


Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow