因此,我希望在这个常见问题上独一无二。在Linq-to-SQL中保存更改
我做了我的查询,得到我的对象,然后将对象传递到一个窗体中,它用对象中的数据填充窗体(这不是通过引用传入的)。
然后,我编辑被查询的对象的值(通过窗体),然后返回一个由窗体中的值构造的新对象。
然后我想更新到数据库。附加什么都不做(运行但不更新)。 SubmitChanges也不做任何事情(并且两者一起使用时什么也不做)。
我错过了什么?
更新:这里是我使用的代码:
// In constructor
_dataMap = new DataMapDataContext();
_addresses = _dataMap.AddressItems
.Where(address => address.InsertUserName == _currentUser.Name).ToList();
public void EditButtonClick()
{
using (AddAddressForm form = new AddAddressForm(_addresses[_currentAddress]))
{
form.Text = "Edit Address";
if (DialogResult.OK == form.ShowDialog())
{
_addresses[_currentAddress] = form.Item;
_dataMap.SubmitChanges();
DisplayItem();
}
}
}
老兄,你昨天问到这个问题,我回答(并正确打勾) - http://stackoverflow.com/questions/3756890/get-linq-to-sql-to-save-to-数据库什么是问题? – RPM1984 2010-09-22 04:58:59
另外,发布你尝试过的代码,这不是工作 - 否则人们会“猜测”你有/没有做过 - 下面的答案就是 – RPM1984 2010-09-22 05:00:26
@ RPM1984的一个例子 - 确实,它们非常相似。但是这是一个插入的更新。 (我不认为InsertOnSumbit将适用于更新的项目)。 – Vaccano 2010-09-22 07:04:53