代码之家  ›  专栏  ›  技术社区  ›  Emad Gabriel

基于实体框架的通用查询

  •  1
  • Emad Gabriel  · 技术社区  · 14 年前

    我不想构建大量的DAL类来简单地拥有如下内容:

    IList<Lookup1> lookup1List= ctx.Lookup1.ToList();
    

    IList<Lookup2> lookup2List= ctx.Lookup2.ToList();
    

    另一个是

    IList<Lookup3> lookup3List= ctx.Lookup3.ToList();
    

    我想有一个通用的方法来使用它们都实现的接口来查询它们。 像这样的

    IList<ILookupEntity> list = "SomeMethod"(Type lookupType);
    

    我该怎么做?

    2 回复  |  直到 14 年前
        1
  •  5
  •   Rubens Farias    14 年前

    这个怎么样?

    public class Repository<T> where T : EntityObject, new()
    {
        public static IQueryable<T> List()
        {
            return EntityContext.Current.CreateObjectSet<T>();
        }
    }
    

    var lookups = Repository<Lookup1>.List();
    
        2
  •  1
  •   user438034 user438034    14 年前

    所以您想查询实现特定接口的所有对象?我不认为这是可能的,目前。