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

Maddhacker24 picture Maddhacker24 · Jun 28, 2012 · Viewed 46.8k times · Source

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; }

Answer

Slauma picture Slauma · Jun 28, 2012
[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.