0

我已将数据网格绑定到上下文并在运行时添加了一些行,但它会生成异常并且由于 Guid 类型的属性仅生成空 Guid 而无法保存更改。
创建对象时如何从实体框架生成Guid?

4

3 回答 3

3

您可以使用[DatabaseGenerated(DatabaseGeneratedOption.Identity)]装饰您的 Guid 属性

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }

这将在您每次插入时生成一个新的行 ID。

于 2012-06-12T17:03:49.697 回答
0

换句话说,您可以YourEntity像这样创建一个部分类:

public partial class YourEntity
{
   public Guid ID { get; set;}    
   public YourEntity()
   {
      ID = Guid.NewGuid();
   }
}
于 2012-06-12T17:16:44.697 回答
0

您只需将字段的属性“StoreGeneratedPattern”更改为 Identity。

所以你的对象'SalesOrderHeader'有一个字段'rowguid'。只需选择该字段并转到属性。

选择“StoreGeneratedPattern”并选择“身份”。

我应该指出,我也是 Entity Framework 的新手,但这对我有用。我只是希望在更新模型时保留此设置。如果不是,那会很痛苦。

谢谢,格雷。

于 2016-09-08T12:06:27.163 回答