Я пытаюсь обновить сущность из клиента WCF следующим образом:
Ctxt.MergeOption = MergeOption.NoTracking;
var q = Ctxt.Customers.Where(p => p.MasterCustomerId == "JEFFERSON").Select(o => o);
//DataServiceCollection<Customer> oCustomers = new DataServiceCollection<Customer>(q, TrackingMode.None);
DataServiceCollection<Customer> oCustomers = new DataServiceCollection<Customer>(q);
oCustomers[0].FirstName = "KEFFERSON";
//Ctxt.SaveChanges(SaveChangesOptions.ReplaceOnUpdate);
//ctxt.SaveChangesDefaultOptions = SaveChangesOptions.ReplaceOnUpdate;
Ctxt.SaveChanges();
Когда я пытаюсь сохранить измененную сущность, она сначала пытается загрузить эту сущность, используя запрос выбора (в базу данных)и затем выдает оператор update для базы данных.
В моем случае я просто хочу, чтобы сущность была непосредственно обновлена в базе данных без предварительной выборки.Я не против, если он перезаписывает данные в базе данных
Я попробовал следующее в службе WCF:
protected override EF.Model.DataModel.PersonifyEntities CreateDataSource()
{
var ctxt = new EF.Model.DataModel.PersonifyEntities();
ctxt.Customers.MergeOption = System.Data.Objects.MergeOption.NoTracking;
ctxt.ContextOptions.ProxyCreationEnabled = false;
ctxt.ContextOptions.LazyLoadingEnabled = false;
return ctxt;
}
Но не повезло.Может ли кто-нибудь помочь мне в этом?