Общий метод для вставки записи в БД - PullRequest
2 голосов
/ 19 ноября 2011

Я использую Entity Frame как ORM, и я хочу иметь один универсальный метод для вставки различных сущностей. скажем, например, у меня есть две сущности foo и bar, и я в настоящее время добавляю их как

internal void Add(Foo _foo){ dbContext.Foo.AddObject(_foo); }

и для bar

internal void Add(Bar _bar){ dbContext.Bar.AddObject(_bar); }

Мне трудно обернуть голову вокруг дженериков. Пожалуйста, помогите мне написать общий метод для вставки объектов typeOf. Плюс, если кто-нибудь направит меня к учебнику для начинающих, я буду очень благодарен.

1 Ответ

4 голосов
/ 19 ноября 2011

Это должно работать для вас.

internal void Add<T>(T entity) { dbcontext.Set<T>.Add(entity); }

Затем вы называете это так:

obj.Add(foo);

Тип выведен, поэтому вам не нужно указывать его напрямую.Set - это метод, который использует обобщенные значения для извлечения DbSet на основе типа, а не указывает имя набора.

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