У меня есть объект с первичным ключом "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
не является столбцом Identity в SQL Server.
Как я могу настроить Entity Framework для автоматического создания Guid в SQL Server?