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
(版本4.1,4.2)或EntitySet
DbSet
(版本DbSet
)方法:
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