gpt4 book ai didi

c# - 如何在 Linq 中更新与数据库断开连接的实体?

转载 作者:太空狗 更新时间:2023-10-29 21:37:22 25 4
gpt4 key购买 nike

下面的代码无法正确运行并抛出 InvalidOperationExcepiton

public void Foo()
{
DataContext context = new DataContext();
LinqEntity item = new LinqEntity(){ Id = 1, Name = "John", Surname = "Doe"} ;
context.LinqEntities.Attach(item, true);
}

最佳答案

默认情况下,实体将在进行编辑时使用所有字段来检查并发性。这就是抛出 InvalidOperationException 的原因。

这可以将所有字段的更新检查属性设置为从不。必须在所有字段上完成此操作以附加修改后的实体。如果这样做,额外调用 context.SubmitChanges() 将保存数据。

或者,如果您知道原始值,则可以附加并进行更新,但所有被检查的值都必须与原始值匹配。

LinqEntity item = new LinqEntity(){ Id = 1, Name = "OldName", Surname = "OldSurname"}; 
context.LinqEntities.Attach(item);
item.Name = "John";
item.Surname = "Doe";
context.SubmitChanges();

关于c# - 如何在 Linq 中更新与数据库断开连接的实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40054/

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