DatabaseGeneratedOption.Identity not generating an Id
- you forgot the
Key
attribute. and there is no need to usevirtual
for primary key. - as mentioned by Slauma you can't use
Identity
for string datatype.
Try this code:
public class Foo
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public virtual string Name { get; set; }
}
Identities for string
column types are not supported with SQL Server. (How do you expect such a string to look like?) To get this working you could - for example - add a computed column/user defined function in SQL Server that formats a string from an ordinary int identity column - as shown here.