Code First Entity Framework: How to control varchar/nvarchar length in SQL Server

When using the code first option for Entity Framework, in order to control the length of varchar and nvarchar fields on the actual generated database, you can use one of the two approaches:

-- Example 1

Use the ColumnAttribute in order to specific datatype (varchar or nvarchar), followed by the StringLength attribute to control the length of the text (1 to 4000 are the allowed lengths.)

[Column(TypeName = "VARCHAR")]

[StringLength(250)] public string SomeStringOfCharacters { get; set; }

Example 2: Using the Fluent API: (This is the best way, learn this syntax if you don't already know it.)

modelBuilder.Entity() .Property(e => e.SomeStringOfCharacters ).HasColumnType("VARCHAR").HasMaxLength(250);

Reply
This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit to those who have expressed a prior interest in receiving the included information for research and educational purposes. For more information go to: http://www.law.cornell.edu/uscode/17/107.shtml . If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner.