gpt4 book ai didi

c# - 如何在 Entity Framework 中有条件地生成DatabaseGenelated GUID

转载 作者:行者123 更新时间:2023-11-29 19:57:19 25 4
gpt4 key购买 nike

我使用 Entity Framework 6 作为与 SQL Server 数据库通信的 ORM。插入新记录时我有两种情况:

  1. 记录的 GUID 为空,在这种情况下我添加属性

    数据库生成(DatabaseGenerateOption.Identity)]

    在我的 POCO 上的 ID 字段之上,数据库很乐意为我的记录生成一个新的顺序 GUID。

    这种情况最适合索引。我的客户首先与一个 API 进行对话,该 API 尝试将一条记录插入数据库并让数据库生成一个连续的 GUID。


  • 记录的 GUID 已设置,在这种情况下,应在数据库中设置 GUID。但是,EF 会忽略这一点,并要求数据库生成新的顺序 GUID。

    此场景适用于客户端离线或无法访问 API 的情况。在这种情况下,它将使用自己生成的 GUID 在本地保存数据,然后尝试将其保存到数据库。

  • 我已经进行了一些搜索,似乎找不到任何方法来仅有条件地要求数据库生成新的 GUID(如果尚未设置)。这可能吗?

    谢谢!

    最佳答案

    是的。使用EF的AddOrUpdate方法

    参见AddOrUpdate

    关于c# - 如何在 Entity Framework 中有条件地生成DatabaseGenelated GUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639529/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com