我有一个
的域实体[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
设置Id
属性,但EF在尝试保存时仍尝试插入空值。这是个常见的问题吗?这是它的样子的一个例子。
public class Invoice
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public ShippingInformation ShippingInformation{ get; set; }
public BillingInformation BillingInformation { get; set; }
public decimal Subtotal { get; set; }
public User user { get; set; }
public bool Processed { get; set; }
}
答案 0 :(得分:8)
实体框架中存在一个错误,其中迁移无法正确检测DatabaseGeneratedOption
的更改。
有关问题的说明以及如何重新创建问题的示例,请参阅this issue on the Entity Framework page on the Codeplex website。
答案 1 :(得分:0)
如果您可以使用密钥添加此属性[DatabaseGenerated(DatabaseGeneratedOption.None)]
,那么它对实体框架6.1.3起作用。
例如,
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
Public int EmployeeId { get; set; }