Я использую EntityFramework для сохранения своих сущностей.
Проблема, с которой я сталкиваюсь, заключается в том, что при отправке сущности, созданной в Silverlight, через WCF для получения доступа я получаю сообщение об ошибке «Элемент нельзя удалить из фиксированнойsize Массив типа 'CarterShop.Commerce.Entities.ManufacturedItemRequirement []'.
Я вставляю сущность (ManufacturedItem), которая имеет ICollection из ManufacturedItemRequirements.Entity Framework должен позволить мне просто «добавить» это в DbContext как объект POCO и сохранить его, но по какой-то причине он жалуется на коллекцию.
Кто-нибудь сталкивался с этой проблемой раньше?В основном я не знаю, на что это жалуется.Ошибка происходит изнутри System.Data:
at System.Data.Objects.Internal.PocoPropertyAccessorStrategy.CollectionRemove(RelatedEnd relatedEnd, Object value)
at System.Data.Objects.Internal.EntityWrapper`1.CollectionRemove(RelatedEnd relatedEnd, Object value)
at System.Data.Objects.DataClasses.EntityCollection`1.RemoveFromObjectCache(IEntityWrapper wrappedEntity)
at System.Data.Objects.ObjectStateManager.DegradePromotedRelationships()
at System.Data.Objects.DataClasses.RelationshipManager.AddRelatedEntitiesToObjectStateManager(Boolean doAttach)
at System.Data.Objects.ObjectContext.AddObject(String entitySetName, Object entity)
at System.Data.Entity.Internal.Linq.InternalSet`1.<>c__DisplayClass5.<Add>b__4()
at System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName)
at System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity)
at System.Data.Entity.DbSet`1.Add(TEntity entity)
at Commerce.Model.Repositories.RepositoryBase`1.Add(T entity) in C:\OclProjects 4.1\CarterShop\CarterShop.Commerce.Model\Repositories\RepositoryBase.cs:line 28
at CarterShop.Commerce.Services.Implementation.StockItemService.CreateManufacturedItem(ManufacturedItem manufactedItem, Boolean createDefinitionAswell) in C:\OclProjects 4.1\CarterShop\CarterShop.Commerce.Services\Implementation\StockItemService.cs:line 137
Я в основном делаю:
ManufacturedItem item = new ManufacturedItem();
item.ManufacturedItemRequirements.Add(new ManufacturedItemRequirement() { Quantity = 1; DefinitionId = 5 });
// Send to WCF...
Context.ManufacturedItems.Add(item); // Error thrown here.
Context.SaveChanges();