【发布时间】:2011-05-22 10:30:57
【问题描述】:
我非常需要你的帮助。我想更新在另一个数据上下文中创建的对象; 这是我的代码。插入语句运行良好,但我无法编写更新代码
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() 方法中附加这些新字段。
是否有任何“漂亮”的方法来更新在另一个数据上下文中创建的对象?
【问题讨论】:
-
我刚刚发布了一个类似的问题,因为我已经看到这个问题被问了至少 20 次,并且没有一个“正确”的答案。我还没有找到“漂亮”的方法。这让我们 a) 开始有点疯狂 b) 开始质疑在我的存储库中使用 Linq To Sql 是否明智。 EF 在更新断开连接的数据方面是否更好?我可以在我的存储库中使用更好的方法吗?我希望我有一个答案给你,但我自己还在寻找一个。 :(
-
我问自己同样的问题...Nhibernate 会让我的生活更轻松...
标签: c# linq linq-to-sql datacontext