EF. Удалить объект по идентификатору, который имеет внешний ключ - PullRequest
1 голос
/ 11 сентября 2010

У меня есть две таблицы Job (Id, Title) и Employee (Id, Name, JobId). 1- * отношения.

Как я могу удалить сотрудника, который имеет ссылку на свою работу, без извлечения информации из базы данных?

Я могу сделать что-то подобное:

var j = new Job { Id = 1 };  // UGLY, I have to create and attach Job instance and job.Id should be exactly the same as id  employee entity reffers to (!) 
e = new Employee { Id = 1, Job = j };  
db.AttachTo("Jobs", e);
db.AttachTo("Employees", e);
db.DeleteObject(e);
db.SaveChanges();

но я хочу что-то вроде:

e = new Employee { Id = 1 };  
db.AttachTo("Employees", e);
db.DeleteObject(e);
db.SaveChanges();

Можно ли построить сущность и удалить ее по идентификатору, не заполняя ссылку? Подход присоединения / удаления работает нормально, если в схеме объекта нет внешних ключей

1 Ответ

2 голосов
/ 11 сентября 2010

В EF сначала нужно загрузить элемент, чтобы удалить его.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...