Удалить запись LINQ to SQL без предварительной загрузки

Можно ли заставить LINQ to SQL удалить запись, используя PK, без предварительной загрузки записи? Похож на NHibernate 'Функциональность прокси-объекта?

Ответы на вопрос(2)

Решение Вопроса

var person = new Person();
person.ID = someID;

using (var context = new DataContext(connString))
{
    context.Persons.Attach(person, false); //attach is as unmodified
    context.Persons.DeleteOnSubmit(person); //remove it
    context.SubmitChanges(); //submit changes to db
}





У вас могут возникнуть проблемы с удалением таким способом, если у вашей сущности есть какие-либо поля, для которых UpdateCheck имеет значение Always, если вы не установите такие поля соответствующим образом.



Кроме того, если вы удаляете несколько связанных объектов, в которых задействованы ограничения FK, у вас могут возникнуть проблемы, если объекты не будут удалены в правильной последовательности (что приведет к нарушению ограничения). Чтобы избежать этого, установите все поля, участвующие в таких FK, в зависимости от ситуации.

Ваш ответ на вопрос