簡體   English   中英

刪除LINQ to SQL記錄而不先加載它

[英]Delete a LINQ to SQL record without loading it first

是否有可能讓LINQ to SQL使用PK刪除記錄,而不首先加載記錄? 類似於NHibernate的代理對象功能?

你應該能夠這樣做:

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中涉及的所有字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM