Извиняюсь заранее, но я должен поставить под сомнение вашу цель.
Если вы удалите объект, даже не прочитав его, то вы не сможете узнать, изменил ли этот объект другой пользователь в промежуток времени между подтверждением того, что вы хотите удалить объект, и фактическим удалением. В «простом старом SQL» это будет выглядеть так:
DELETE FROM FOO
WHERE ID = 1234
Конечно, большинство людей на самом деле не делают этого. Вместо этого они делают что-то вроде:
DELETE FROM FOO
WHERE ID = 1234
AND NAME = ?ExpectedName AND...
Дело в том, что удаление должно завершиться неудачей (ничего не делать), если другой пользователь изменил запись за это время.
С этим, лучшим изложением проблемы, есть два возможных решения при использовании Entity Framework.
В вашем методе Delete, существующем экземпляре, сравните ожидаемые значения свойств и удалите, если они совпадают. В этом случае Entity Framework позаботится о написании оператора DELETE, который включает значения свойств.
Напишите хранимую процедуру, которая принимает как IDE, так и другие значения свойств, и выполните это.