我有一个主键“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().Property(x => x.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
base.OnModelCreating(modelBuilder);
}
当我尝试插入一个记录,我得到以下错误:
Cannot insert the value NULL into column ‘Id’, table ‘FileStore’; column does not allow nulls. INSERT fails.\r\nThe statement has been terminated.
我不想手动生成Guid。我只是想插入一个记录并获取由SQL Server生成的Id。如果我设置了.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity),Id列在SQL Server中不是Identity列。
如何配置Entity Framework在SQL Server中自动生成Guid?