Это простой вопрос, но я не знаю ответа, и я не мог заставить его работать.
Могу ли я обновить только один объект во всем DataContext? Или я должен следовать обычному ADO.NET только для этой операции?
Edit:
public MyObject GetMyObjectById(int selectedId)
{
DataContext db = _dbManager.GetContext();
return db.MyObject.SingleOrDefault(p => p.Id == selectedId);
}
Я получаю объект с вышеуказанным запросом ...
Затем я запрашиваю целое число ... в другой таблице / объекте
public int GetMyInteger()
{
DataContext db = _dbManager.GetContext();
return db.MyAnotherObject.FirstOrDefault().MyInteger;
}
Все хорошо для всех моих операций ... но теперь я просто хочу обновить только целое число, которое я получил из базы данных ...
public void SetMyInteger(int updInteger)
{
DataContext db = new DataContext(ConnectionString);
MyAnotherObject theEntity = db.MyAnotherObject.FirstOrDefault();
atheEntity.MyInteger = updInteger;
db.SubmitChanges(ConflictMode.ContinueOnConflict);
}
Вышеупомянутый метод удалил MyObject, который я получил из первого запроса !!! Конечно, если я использую статический контекст, DataContext пытается обновить MyObject и MyAnotherObject, что кажется правильным поведением.
Edit:
Я изменил метод, получая целое число с новым datacontext, и, похоже, он работает правильно, у меня странная мысль о том, почему вызван метод delete, потому что это был метод, который был вызван, но снова ... работает сейчас ...
Спасибо всем за потраченное время.