gpt4 book ai didi

c# - 使用 LINQ TO SQL 更新实体

转载 作者:太空宇宙 更新时间:2023-11-03 14:33:18 24 4
gpt4 key购买 nike

我正在尝试使用 linq to sql 更新数据库记录

首先我查询它

MyObject obj = (from o in objRepository.List where(o.ID == id) select i).SingleOrDefault();

然后我尝试更新和修改数据

obj.Name = "some value"

dataContext.Attach(obj)
dataContext.Context.Refresh(RefreshMode.KeepCurrentValues, obj);

我在附加内容的行上收到了一个 InvalidOperationException。它说不可能附加一个已经存在的实体。

谁能帮帮我?谢谢。

最佳答案

任何使用 LINQ to SQL 更新的对象都是自动已知的,因此如果您从存储库中获取对象,并且它知道数据上下文,则无需附加它。您只需使用数据上下文提交更改 (),这些更改就会更新到数据库中。

因此,当您从数据上下文中查询时,一旦属性更改其值,数据上下文就已经知道该更改,并且对 SubmitChanges() 的调用会将其推送到数据库并更新该对象的引用(因此您可以钻透)。

关于c# - 使用 LINQ TO SQL 更新实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2087876/

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