Как вернуть общий объект, используя контекст данных EF6?

StackOverflow https://stackoverflow.com//questions/24024802

Вопрос

У меня есть простая база данных с 'Person' и 'Subscription' таблица, в которой у каждого человека есть одна или несколько подписок.

    private MyDBContext_dbContext;       

    public T GetByID(int ID)
    {
        return _dbContext.Mapping. ??
    }

Теперь целью было создать универсальный метод для возврата либо сущности Person, либо сущности Subscription из контекста данных на основе предоставленного типа.

В Linq2SQL я смог использовать .GetTable<T> метод, как я могу сделать то же самое с EntityFramework 6?А .Mapping часть даже не распознается IntelliSense, поэтому мне здесь не хватает чего-то базового.

Спасибо

Это было полезно?

Решение

DbContext предлагает вам метод Set.Вы можете использовать его как общий метод:

DbSet<Person> people = DbContext.Set<Person>();

или неуниверсальный:

DbSet<Person> people = DbContext.Set(typeof(Person)) as DbSet<Person>;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top