2014-06-14 2 views
2

При попытке обновления появляется следующее сообщение об ошибке.Ошибка Свойство «xxxx» является частью информации о ключе объекта и не может быть изменено в службе WCF RIA.

Идентификатор объекта является частью ключевой информации объекта и не может быть изменен.

at System.Data.Objects.EntityEntry.CompareKeyProperties(Object changed) 
    at System.Data.Objects.EntityEntry.ApplyOriginalValuesInternal(IEntityWrapper wrappedOriginalEntity) 
    at System.Data.Objects.EntityEntry.ApplyOriginalValues(Object originalEntity) 
    at System.ServiceModel.DomainServices.EntityFramework.ObjectContextUtilities.AttachAsModifiedInternal[T](T current, T original, ObjectContext objectContext) 
    at System.ServiceModel.DomainServices.EntityFramework.ObjectContextExtensions.AttachAsModified[T](ObjectSet`1 objectSet, T current, T original) 
    at SchoolPortal.Web.SchoolPortalService.UpdateCld_friend_request(cld_friend_request currentcld_friend_request) in D:\J\SchoolPortal.Web\SchoolPortalService.cs:line 321 
    at UpdateCld_friend_request(DomainService , Object[]) 
    at System.ServiceModel.DomainServices.Server.ReflectionDomainServiceDescriptionProvider.ReflectionDomainOperationEntry.Invoke(DomainService domainService, Object[] parameters) 
    at System.ServiceModel.DomainServices.Server.DomainService.InvokeDomainOperationEntry(DomainOperationEntry domainOperationEntry, Object[] parameters, ChangeSetEntry operation) 
    at System.ServiceModel.DomainServices.Server.DomainService.InvokeCudOperations() 
    at System.ServiceModel.DomainServices.Server.DomainService.ExecuteChangeSet() 
    at System.ServiceModel.DomainServices.Server.DomainService.Submit(ChangeSet changeSet) 

ответ

0

Вы используете рамки Entity, кажется, вы изменили набор данных таким образом, что первичный ключ также модифицированный & таким образом EF не в состоянии определить, какие записи должны быть обновлено таким образом происходит эта ошибка.

См этих статей для более подробной информации & решения:

Compositional Hierarchies

http://brettsam.com/2011/03/25/ria-services-composition-with-entity-framework/

http://sklementiev.blogspot.in/2011/03/composites-in-wcf-ria-take-2.html

http://sgomez.blogspot.in/2011/03/wcf-ria-compositions.html

Там есть один другой вопрос о так, но я думаю, что это решение T о ваша проблема:

Update primary key value using entity framework

+0

Моя DB таблица представляет собой простой один с первичным ключом и предприятие также создано так же, но при обновлении его давая мне это ошибка... – prathmanu

1

Это было просто простым решением .... Перейти к ссылкам в вашем вебе-проекте и правой кнопка мыши системы и сделать копию местной лжи ... Он работал как шарм. ..

Спасибо Pranav Сингха за ваш комментарий по этому запросу

0

Мы получили эту проблему, когда один из наших разработчиков изменить все ссылки на «Copy Local» на «True».

Изменяя значение на «False» один за другим, мы обнаружили, что «Система» - это единственный элемент, который мы не можем «Копировать» на «Локальный».

Мы желаем, чтобы кто-то из команды службы Ria мог объяснить это.

0

Проверить для всех таблиц где вы пропустите установки первичного ключа и целого числа в столбце Удостоверения