Итак, вот мой, надеюсь, уникальный пример решения этой распространенной проблемы.
Я выполняю свой запрос, получаю свои объекты, затем передаю объект в форму, где он заполняет форму данными из объекта (этоне передается по ссылке).
Затем я редактирую значения запрашиваемого объекта (через форму), а затем возвращаю новый объект, созданный из значений в форме.
Затем я хочу обновить это в базе данных.Attach ничего не делает (запускается, но не обновляется).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();
}
}
}