gpt4 book ai didi

c# - 更新在另一个数据上下文中创建的对象

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:46 25 4
gpt4 key购买 nike

我非常需要你的帮助。我想更新在另一个数据上下文中创建的对象;这是我的代码。插入语句运行良好,但我无法编写更新代码

var dataContext = new ReconNewDataContext();           
if (Id == 0)
{
var item = this;
dataContext.RequestIO.InsertOnSubmit(item);
dataContext.SubmitChanges();
Id = item.Id;
}
else
{
var item = this;
//update object
}

我读过 Linq2SQL: Update object not created in datacontext

我试过使用 .Attach(this) .Attach(this,true) .Attach(this, oldObjectFromBase) 但总是出错。

我知道我可以从数据库中获取对象并从修改后的对象中手动传输数据,但是会有新的字段。这意味着我必须始终在 Save() 方法中附加这些新字段。

是否有任何“漂亮”的方法来更新在另一个数据上下文中创建的对象?

最佳答案

查看这篇文章:http://omaralzabir.com/linq_to_sql__how_to_attach_object_to_a_different_data_context/

此外,在您的示例中,对于更新,请尝试执行以下操作:

var item = new ObjectBeingUpdated();
//copy over properties from old object to new object, make sure pk's match

//Attach this new object

我相信类似的方法对我的同事有用。

更新:查看此以获取有关附加的更多信息:http://blogs.msdn.com/b/dinesh.kulkarni/archive/2007/10/08/attach-if-you-have-something-detached.aspx

关于c# - 更新在另一个数据上下文中创建的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4391343/

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