Csharp/C#教程:Linq to Entities删除分享


Linq to Entities删除

是否有使用主键从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之外的其他字段(意味着没有Timestamp属性,或者查询中包含的任何类似内容)

默认方式是查询实体,然后发出.DeleteObject(…)方法。

您可以使用DbSet.Remove(entity) (版本4.1,4.2)或EntitySet.Remove(entity) DbSet.Remove(entity) (版本DbSet.Remove(entity) )方法:

 YourDbContext.Table.Remove(entityObject); 

我用来搜索要删除的项目,然后使用DeleteObject方法删除它们(它们)。

 Dim itemToDelete = (From u In db.SOME_TABLE Where u.ID = ID).FirstOrDefault db.SOME_TABLE.DeleteObject(itemToDelete) db.SaveChanges() 

在try catch块中使用它

使用execute命令满足您的需求,例如:

 mycontext.ExecuteCommand("DELETE FROM MYTABLE"); 

要么

 mycontext.ExecuteCommand("TRUNCATE TABLE MYTABLE"); 

HTH

上述就是C#学习教程:Linq to Entities删除分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/953445.html

(0)
上一篇 2021年11月19日
下一篇 2021年11月19日

精彩推荐