Общие запросы с Entity Framework - PullRequest
1 голос
/ 04 сентября 2010

У меня есть модель Entity, которая включает в себя большое количество объектов поиска.У всех есть только свойства ID и Name.

Я не хочу создавать большое количество классов 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 ]

5 голосов
/ 04 сентября 2010

Как насчет этого?

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

Использование:

var lookups = Repository<Lookup1>.List();
1 голос
/ 04 сентября 2010

То есть вы хотите запросить все объекты, которые реализуют определенный интерфейс?Я не думаю, что это возможно, в настоящее время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...