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?

Ответы на вопрос(10)

Ваш ответ на вопрос