Адправіць аперацыя не прайшоў праверку

Я працую з ужываннем срэбра святла з MVVM Concept і Enity рамкі і паўсталі некаторыя праблемы ў абнаўленні значэнняў. Дазвольце мне ўдакладніць маю праблему. Я маю тры табліцы сказаць A, B і C, дзе B мае адносіны знешняга ключа з А і С маюць суадносіны знешняга ключа з Б. Я мог бы ў стане захаваць гэтыя табліцы з любой праблемай. Я выкарыстоўваю ўяўленне, каб звязаць сетку і магчымасць атрымаць значэння для рэдагавання, але не можа абнаўляць якія-небудзь змены ў базу дадзеных. У той час як абнаўленне я атрымліваю гэтую памылку **

Message: Unhandled Error in Silverlight Application Code: 4004
Category: ManagedRuntimeError Message: System.ServiceModel.DomainServices.Client.DomainOperationException: Submit operation failed validation. Please inspect Entity.ValidationErrors for each entity in EntitiesInError for more information. en System.ServiceModel.DomainServices.Client.OperationBase.Complete(Exception error) en System.ServiceModel.DomainServices.Client.SubmitOperation.Complete(OperationErrorStatus errorStatus) en 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 з'яўляецца аб'ектам сутнасці ў Б, AddrView з'яўляецца EntitySet з Table View і addresscollection гэта калекцыя C. Я не ведаю, дзе я буду няправільна або можа быць прычынай гэтай памылкі. Калі ласка, весці мяне па гэтым пытанні. Дзякуй.

2
Чыталі вы паведамленне пра памылку? Калі ласка, праверце Entity.ValidationErrors для кожнага аб'екта ў EntitiesInError для атрымання дадатковай інфармацыі.
дададзена аўтар Will, крыніца

1 адказы

Памылка кажа, што гэта праблема праверкі. змяніць dcBusinessAccountingContext.SubmitChanges (); на

dcBusinessAccountingContext.SubmitChanges(SubmitCallback, null);

Пасля гэтага вы можаце зрабіць некаторыя праверкі памылак:

private void SubmitCallback(SubmitOperation operation)
{
        if (operation.HasError)
        {
           //check "operation.EntitiesInError" for more details.
        }
}

спадзяюся, што гэта дапаможа.

2
дададзена