RemoveRange不会在intellisense

时间:2018-01-10 23:08:28

标签: c# visual-studio entity-framework-6 intellisense

我正在使用EF 6开发ASP.NET Webforms。

我已经使用Webforms完成了其他项目,并且我已经使用RemoveRange获得了智能感知,但在此项目中,它并没有显示出来!

当我输入

时,它只显示Remove
someContext.someTable.

我甚至试过using System.Data.Entity;,因为这应该来自于此,但没有运气。

2 个答案:

答案 0 :(得分:0)

这是设计使然,请检查此信息:Entity Framework Design Meeting Notes, on May 16, 2013并且团队认识到可能会发生变化。

如果您仍想使用它,可以查看this similar issue并使用以下扩展方法解决它:

public static class R2VDbContextExtensionMethods
{
    public static IEnumerable<TEntity> AddRange<TEntity>(this IDbSet<TEntity> dbset, IEnumerable<TEntity> entitiesToAdd) where TEntity : class
    {
        return ((DbSet<TEntity>)dbset).AddRange(entitiesToAdd);
    }

    public static IEnumerable<TEntity> RemoveRange<TEntity>(this IDbSet<TEntity> dbset, IEnumerable<TEntity> entitiesToDelete) where TEntity : class
    {
        return ((DbSet<TEntity>)dbset).RemoveRange(entitiesToDelete);
    }
}

答案 1 :(得分:0)

我实际上解决了这个问题 获取所有索引..(主键) 并将它们放在一个列表中,然后 使用for(或foreach)调用remove to each each each 循环。

我不确定做正确的做法是不错的做法, 但它确实很漂亮而且很简单, 我个人认为这不会引起任何麻烦 (如果你没有像我第一次那样搞乱索引)