【问题标题】:How to delete using only the primary key?如何仅使用主键删除?
【发布时间】:2011-01-24 20:37:15
【问题描述】:

如何使用 Linq to SQL 仅使用主键删除记录,而无需从数据库中检索现有记录?

【问题讨论】:

  • 目前没有 VS 来测试这个但不会是这样的:DataContext.Widgets.Delete(new {id = 123})
  • FerretallicA - 不,如果是这样的话,我会想出来的。 :)

标签: linq-to-sql primary-key delete-row delete-record


【解决方案1】:

【讨论】:

  • +1 是的,基本上你需要直接的 SQL,Linq-to-SQL 本身不支持它......
【解决方案2】:

您应该能够使用适当的 FK 创建对象的实例,然后将其 Attach() 到上下文,Delete() 它,然后 SubmitChanges() 将执行删除而不执行 sql 选择。

var foo1 = new Foo {Id = 1};
db.Foos.Attach(foo1);
db.Foos.Remove(foo1);
db.SubmitChanges();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 2014-03-16
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    相关资源
    最近更新 更多