.net 4.0 实体框架4多对象删除(RemoveAll)
我了解到新的实体框架将包含一个删除多个项的方法(Linq to SQL具有deleteAllonsSubmit()),但我找不到执行该操作的函数/方法 这是Beta 2版还是我必须自己制作 更新: 这就是我现在使用的:.net 4.0 实体框架4多对象删除(RemoveAll),.net-4.0,entity-framework-4,.net 4.0,Entity Framework 4,我了解到新的实体框架将包含一个删除多个项的方法(Linq to SQL具有deleteAllonsSubmit()),但我找不到执行该操作的函数/方法 这是Beta 2版还是我必须自己制作 更新: 这就是我现在使用的: public void DeleteObjects(IEnumerable<object> objects) { foreach (object o in objects) { DeleteObj
public void DeleteObjects(IEnumerable<object> objects)
{
foreach (object o in objects)
{
DeleteObject(o);
}
SaveChanges();
}
public void DeleteObjects(IEnumerable对象)
{
foreach(对象中的对象o)
{
删除对象(o);
}
保存更改();
}
EF 4允许您针对对象上下文执行TSQL语句:
using (var context = new EntityFrameworkExampleEntities())
{
var count =
context.ExecuteStoreCommand(@"DELETE FROM Companies WHERE [CompanyID]=4");
}
有关详细信息,请参阅以下博客
我知道现在已经晚了,但我找到了这篇文章,找到了一个更简单的解决方案,但没有发布。
可以在关联属性中将OnDelete设置为级联。在VS2012中打开edmx文件。单击关联,您将在属性选项卡中找到OnDelete。然后,您可以使用Remove()方法,而不使用触发器或任何其他特殊处理。my函数有缺点吗?缺点是在删除过程中,所有对象都保存在内存中。如果要删除大量尚未从数据库加载的对象,则这些对象将在删除之前加载到应用程序中。单击。引用您链接到的文章,“此功能只应在实体框架不支持您需要的内容的情况下使用。”EF确实支持删除多个对象,请调用DeleteObject()然后调用SaveChanges()(或执行此操作)。可能重复