Im пытается получить строку сотрудника из моей базы данных. В столбце Employee есть ссылка на вкладку Job.Entity Framework не извлекает определенный столбец
Теперь я хочу обновить строку Employee некоторой новой информацией. Я помещаю новую информацию в новый объект Employee, а затем использую этот объект для обновления старой информации Сотрудника в базе данных. Это отлично работало, пока я не добавил ссылку между таблицей Employee и вкладкой Job.
После этого инфраструктура Entity ожидает, что мой объект New Employee также содержит ссылки на рабочие места, которые необходимо обновить. Но это не так. Когда я создаю новый объект Employee, у меня нет информации о ссылках на работу. Поэтому, когда я использую код ниже, я получаю эту ошибку:
* Оператор DELETE противоречил ограничению REFERENCE "FK_EmployeeProjects_Employees". Конфликт произошел в базе данных «***», таблице «dbo.EmployeeProjects», в столбце «EmployeeId». Заявление было прекращено. *
public Employee EditEmployee(Employee employee)
{
try
{
var originalEmployee = GetEmployeeWithoutJobs(employee.Id);
_entities.ApplyPropertyChanges(originalEmployee.EntityKey.EntitySetName, employee);
_entities.SaveChanges();
return originalEmployee;
}
catch (Exception ex)
{
throw ex;
}
}
Могу ли я как-то сказать рамки сущности игнорировать обновление ссылок Работа в этом примере?
'ApplyPropertyChanges' уже обновляет скаляры только. Вероятно, ошибка находится в 'GetEmployeeWithoutJobs'. Можете ли вы опубликовать этот источник? –