Я вставляю новую строку в таблицу базы данных, используя Entity Framework, но моя проблема в том, что столбец ValidFromDate
вызывает исключение
Свойство ValidFromDate является частью ключа объектаинформация и не может быть изменена дата
Наш администратор баз данных определил базу данных, а изображение ниже представляет собой снимок файла EDMX.ValidFromDate
- это столбец datetime .
Идея FarmAnimal
состоит в том, чтобы отследить историю, в которой находилось определенное животное.Поэтому AnimalId
и ValidFromDate
делают строку уникальной.
Теперь вопрос заключается в том, как я могу вставить новую строку в таблицу с такой схемой?

Вставка с использованием Entity Framework
var farmAnimal = new FarmAnimal {
AnimalId = insert.AnimalId,
ValidFromDate = insert.ValidFromDate // exception comes from this line,
etc.
};
entities.FarmAnimals.Add(farmAnimal);
Обновление: StackTrace
at System.Data.Objects.EntityEntry.DetectChangesInProperties(Boolean detectOnlyComplexProperties)
at System.Data.Objects.ObjectStateManager.DetectChangesInScalarAndComplexProperties(IList`1 entries)
at System.Data.Objects.ObjectStateManager.DetectChanges()
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 xxx.Repositories.PairingRepository.UpdateFarmAnimals(IEnumerable`1 updates, IEnumerable`1 inserts) in xxx
at xxx.Services.PairingService.RemovePairingAnimals(List`1 animalIds) in xxx
at xxx.Controllers.PairingController.RemovePairingAnimals(List`1 animalIds) in xxx
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
Обновление 2: Файлы Entity Framework
Я добавил три файла. Файлы отображения / генераторы Entity Framework EDMX-файл ADO.NET DbContext Generator ADO.NET EntityObject Generator (POCO's)