具有实体框架的通用查询

时间:2010-09-04 13:05:49

标签: .net entity-framework entity-framework-4

我有一个包含大量查找实体的实体模型。所有都只有ID和名称属性。

我不想构建大量的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 个答案:

答案 0 :(得分:5)

这个怎么样?

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

用法:

var lookups = Repository<Lookup1>.List();

答案 1 :(得分:1)

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