gpt4 book ai didi

c# - Linq to Entities删除

转载 作者:可可西里 更新时间:2023-11-01 08:19:18 26 4
gpt4 key购买 nike

是否有使用主键使用 Linq to Entites 进行删除的内置方法。

目前的解决方法是创建一个名为 DeleteTable 的存储过程(表是表名)

然后在 C# LINQ To Entities 中我只执行 context.DeleteTable(ID)

这是最好的方法吗?还有哪些其他选择?

最佳答案

如果您不想去数据库检索对象的所有字段,您可以创建该类的一个新实例,将其附加到一个新的上下文,删除它,然后保存更改。这让 EF 生成适当的删除命令。

using (var context = new MyContext())
{
var myObject = new MyObject { ID = 3 };
context.MyObjectSet.Attach(myObject);
context.MyObjectSet.DeleteObject(myObject);
context.SaveChanges();
}

注意:这将抛出您试图删除不存在的对象的异常。仅当您确定该对象存在时才适用。

注意 2:这假设您已经设置了实体,以便生成的删除命令不引用 ID 以外的其他字段(意味着没有时间戳属性,或查询中包含的任何类似内容)

关于c# - Linq to Entities删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8649795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com