DarthVader DarthVader - 2 months ago 9
C# Question

Creating string index with Code first

I'm using Entity Framework 6.1 code-first and my domain model is below.

class Item
{
[Index]
public string CreatedBy { set; get; }
}


When I use update-database for migration, I get the following error. However as far as I researched
[Index]
should work as annotation to
string
.


Column 'CreatedBy' in table 'dbo.Items' is of a type that is invalid for use as a key column in an index.

Answer

Usually you get this error when you use a VARCHAR(Max) try using:

[Column(TypeName = "VARCHAR")]
[StringLength(n)]
[Index]
public string CreatedBy { set; get; }

where n is between 1 and 450.