Я работаю с приложением silver light с платформой MVVM Concept и Enity, и у меня возникли проблемы с обновлением значений. Позвольте мне уточнить мою проблему. У меня есть три таблицы, скажем, A, B и C, где B имеет отношение внешнего ключа с A, а C имеет отношение внешнего ключа с B. Я мог бы сохранить эти таблицы без каких-либо проблем. Я использую представление для привязки сетки и могу получить значения для редактирования, но не могу обновить какие-либо изменения в базе данных.
При обновлении получаю эту ошибку **
Сообщение: необработанная ошибка в приложении Silverlight Код: 4004
Категория: ManagedRuntimeError Сообщение:
System.ServiceModel.DomainServices.Client.DomainOperationException:
Отправка операции не прошла проверку. Пожалуйста, проверьте
Entity.ValidationErrors для каждого объекта в EntitiesInError для более
Информация. ан
System.ServiceModel.DomainServices.Client.OperationBase.Complete (Exception
ошибка) en
System.ServiceModel.DomainServices.Client.SubmitOperation.Complete (OperationErrorStatus
errorStatus) ru
System.ServiceModel.DomainServices.Client.DomainContext. <> C_ DisplayClassb.b _3 (Object
)
**
вот класс просмотра модели ..
public void Save(object obj)
{
_currentCustomer.ModifiedBy = App.CurrentUser;
_currentCustomer.ModifiedDateTime = System.DateTime.Now;
foreach (BizFramework.Web.Model.Address address in AddressCollection.ToList())
{
string address1 = Convert.ToString(address.Address1);
if (address1 != null && address1.Trim()!="")
{
CVEReference = (from addref in _currentCustomer.CustomerVendorEmployeeReferences
where addref.CustomerID == _currentCustomer.CustomerID
select addref).SingleOrDefault();
BizFramework.Web.Model.Address addressExists = (from rec in CVEReference.Addresses
where rec.AddressTypeID == address.AddressTypeID
select rec).SingleOrDefault();
if (addressExists != null)
{
address.ModifiedBy = App.CurrentUser;
address.ModifiedDateTime = System.DateTime.Now;
}
else
{
address.AddressGuid = System.Guid.NewGuid();
address.ApplicationOwner = App.CurrentUser;
address.CreatedBy = App.CurrentUser;
address.ModifiedBy = App.CurrentUser;
address.CreatedDateTime = System.DateTime.Now;
address.ModifiedDateTime = System.DateTime.Now;
CVEReference.Addresses.Add(address);
}
}
else
{
//_currentCustomer.Addresses.Remove(address);
AddressCollection.Remove(address);
//dcBusinessAccountingContext.Addresses.Remove(address);
}
}
dcBusinessAccountingContext.SubmitChanges();
}
//Setting Table A from the view like this
_currentCustomer = (from CustomerAddress in dcBusinessAccountingContext.Customers
where CustomerAddress.CustomerID == AddrView.CustomerID
select CustomerAddress).SingleOrDefault();
где _currentcustomer - это объектный объект A, CVEReference - объектный объект B, AddrView - набор сущностей табличного представления, а addresscollection - это коллекция C. Я не знаю, где происходит ошибка, или может быть причиной этого ошибка. Пожалуйста, проведите меня через этот вопрос.
Спасибо.