代码之家  ›  专栏  ›  技术社区  ›  MissingLinq

实体框架-将guid为entitykey的更改保存

  •  9
  • MissingLinq  · 技术社区  · 15 年前

    我有一个使用uniqueidentifier作为主键的SQL Server 2008数据库表。在插入时,使用newid()函数在数据库端生成键。

    这对ADO.NET很好。但是,当我在EntityFramework4模型中将此表设置为实体时,存在一个问题。我可以很好地查询这个实体,但是当创建一个新实体并在上下文中调用savechanges()时,数据库中生成的唯一标识符都是零。

    我知道EFv1有一个问题,这个场景不起作用,需要在调用savechanges之前在客户机上创建guid。然而,我在很多地方读到他们计划在EF4中解决这个问题。

    我的问题——这个场景(唯一标识符的DB端生成)在EF4中仍然不受支持吗?我们还在客户端上生成guid吗?

    2 回复  |  直到 10 年前
        2
  •  4
  •   Craig Stuntz    15 年前

    是的,这在EF4中改变了。 You can now use a server generated GUID . @Musigenesis、服务器生成的guid有一些优势;它们可以是连续的,例如