Entity Framework 6 GUID como clave principal: no se puede insertar el valor NULL en la columna 'Id', tabla 'FileStore'; la columna no permite nulos
Tengo una entidad con la clave principal "Id" que es Guid:
public class FileStore
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Path { get; set; }
}
Y alguna configuración:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<FileStore>().Property(x => x.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
base.OnModelCreating(modelBuilder);
}
Cuando intento insertar un registro, aparece el siguiente error:
No se puede insertar el valor NULL en la columna 'Id', tabla 'FileStore'; La columna no permite nulos. INSERT falla. \ R \ nLa declaración ha finalizado.
No quiero generar Guid manualmente. Solo quiero insertar un registro y obtenerId
generado por SQL Server. Si pongo.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
, Id
La columna no es una columna de identidad en SQL Server.
¿Cómo puedo configurar Entity Framework para autogenerar Guid en SQL Server?