GUID Entity Framework 6 в качестве первичного ключа: невозможно вставить значение NULL в столбец «Id», таблица «FileStore»; столбец не допускает пустых значений
У меня есть объект с первичным ключом "Id", который является Guid:
public class FileStore
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Path { get; set; }
}
И некоторые настройки:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<FileStore>().Property(x => x.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
base.OnModelCreating(modelBuilder);
}
Когда я пытаюсь вставить запись, я получаю следующую ошибку:
Невозможно вставить значение NULL в столбец «Id», таблица «FileStore»; столбец не допускает пустых значений. INSERT завершается неудачей. \ R \ nОперация завершена.
Я не хочу генерировать Guid вручную. Я просто хочу вставить запись и получитьId
генерируется SQL Server. Если я установлю.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
, Id
Столбец не является столбцом идентификации в SQL Server.
Как я могу настроить Entity Framework для автоматической генерации Guid в SQL Server?