12

我读到新的实体框架将包含一个删除多个项目的方法(Linq to SQL 有 DeleteAllOnSubmit()),但我找不到执行此操作的函数/方法。

这是在 Beta 2 中还是我必须自己制作?

更新:

这就是我现在正在使用的:

    public void DeleteObjects(IEnumerable<object> objects)
    {
        foreach (object o in objects)
        {
            DeleteObject(o);
        }
        SaveChanges();
    }
4

2 回答 2

8

EF 4 允许您针对对象上下文执行 TSQL 语句:

   using (var context = new EntityFrameworkExampleEntities())
    {       
     var count = 
         context.ExecuteStoreCommand(@"DELETE FROM Companies WHERE [CompanyID]=4");            
    }

有关详细信息,请参阅以下博客。

http://blogs.microsoft.co.il/blogs/gilf/archive/2009/11/25/execute-t-sql-statements-in-entity-framework-4.aspx

于 2009-11-28T23:30:08.253 回答
0

我知道这已经晚了,但我找到了这篇文章并找到了一个更简单的解决方案,但没有发布。您可以在 Association 属性中将 OnDelete 设置为 Cascade。在 VS2012 中打开 edmx 文件。单击关联,您将在“属性”选项卡中找到 OnDelete。然后,您可以使用没有触发器或任何其他特殊处理的 Remove() 方法。

于 2013-05-30T10:51:31.790 回答