Search code examples
c#sql-serverentity-frameworkef-code-first

How do I set a column in SQL Server to varchar(max) using ASP.net EF Codefirst Data Annotations?


I've been searching around the web trying to figure out the right syntax to have Entity Framework Code First create my table with a column: varchar(max).

This is what I have. By default this creates varchar(128). How do I create varchar(max)?

I have tried [MaxLength] without success.

Any help would be appreciated. Thanks!

[Column(TypeName = "varchar")]
public string MediaDesc { get; set; }

Solution

  • [Column(TypeName = "varchar(MAX)")]
    

    Surprisingly the most obvious solution works.

    The [MaxLength] attribute only creates a varchar column with a max length that isn't MAX but - in my case (SQL Server Express 2008 R2) - 8000.