gpt4 book ai didi

sql - Entity Framework : Update entity or add if it doesn't exist

转载 作者:行者123 更新时间:2023-12-03 16:03:08 24 4
gpt4 key购买 nike

我有一个场景,我必须更新一个实体(如果它存在)或添加一个新实体(如果它不存在)。

我想为此执行一个方法(如果它是一次到服务器的旅行,那就太好了)。

EF 里有类似的东西吗?

现在我的代码是这样的:

var entity = db.Entities.FirstOrDefault(e => e.Id == myId);
if (entity == null)
{
entity = db.Entities.CreateObject();
entity.Id = myId;
}

entity.Value = "my modified value";

db.SaveChanges();

但我想避免第一个查询,如下所示:
var entity = new Entity();
entity.Id = myId;
entity.Value = "my modified value";
db.AddOrAttach(entity);
db.SaveChanges();

有没有类似的?或者无论如何我都必须执行第一个查询?

谢谢

最佳答案

不幸的是,无论如何您都必须执行第一个查询。

一种选择是编写一个执行 T-SQL 的存储过程 MERGE然后将其映射到函数导入,尽管这需要您将实体的标量值作为参数传递(并且将完成对导航属性的支持),但它会完成您所追求的。

关于sql - Entity Framework : Update entity or add if it doesn't exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6434405/

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