Entity framework 执行非泛型DbContext.Set?

Entity framework 执行非泛型DbContext.Set?,entity-framework,ef-code-first,code-first,dbcontext,dbset,Entity Framework,Ef Code First,Code First,Dbcontext,Dbset,我需要执行一个动态集合类型,下面是我要做的: var type = GetSetType(); //System.Type var set = context.Set(type); var results = set.ToArray(); 我知道这不能肯定,Enumerable ex.方法仅适用于泛型IEnumerables,但我尝试了set.AsQueryable.Cast.ToArray,并引发了NotSupportedException:LINQ to Entities仅支持强制转换ED

我需要执行一个动态集合类型,下面是我要做的:

var type = GetSetType(); //System.Type
var set = context.Set(type);
var results = set.ToArray();
我知道这不能肯定,Enumerable ex.方法仅适用于泛型IEnumerables,但我尝试了set.AsQueryable.Cast.ToArray,并引发了NotSupportedException:LINQ to Entities仅支持强制转换EDM基元或枚举类型


有没有办法执行一个非通用的DbSet?

我应该删除我的问题,因为答案太简单了,但是为了记录在案,让我们继续吧

namespace System.Linq
{
  public static class EntityFrameworkExtensions
  {
    public static IEnumerable<object> AsEnumerable(this DbSet set)
    {
      foreach (var entity in set)
        yield return entity;
    }
  }
}

请注意,对重新调整的集合执行的任何筛选都不会发生在SQL server上,但会在集合枚举器上返回整个表。仅在加载所有行时使用。

我应该删除我的问题,因为答案太简单了,但为了记录在案,让我们继续吧

namespace System.Linq
{
  public static class EntityFrameworkExtensions
  {
    public static IEnumerable<object> AsEnumerable(this DbSet set)
    {
      foreach (var entity in set)
        yield return entity;
    }
  }
}
请注意,对重新调整的集合执行的任何筛选都不会发生在SQL server上,但会在集合枚举器上返回整个表。仅在加载所有行时使用