Обобщение для операций с таблицами в одной модели Entity Framework

166
22 июля 2018, 18:10

Есть много таблиц в одной модели, созданной при помощи Code First. С каждой из них нужно проделать одинаковые операции. Я уверен, что есть способ как-то обобщить. Например, если в одной модели db есть три таблицы Shops, Products и Orders, как вместо такого:

Shop shop = new Shop();
db.Shops.Add(shop);
Product product = new Product();
db.Products.Add(product);
Order order = new Order();
db.Orders.Add(order);

написать что-то в духе:

for (int i = 0; i < 3; i++) {
  T temp = new T();
  db.T.Add(temp);
}

Как обобщить именно само название таблицы в DbContext например в строчке db.Shops. ... ? Или как это сделать по-другому, чтобы не повторять код? Спасибо за внимание.

Answer 1

Нашел решение: вместо

db.Shops

надо написать:

db.Set<Shop>()

И тогда уже можно обобщить.

READ ALSO
Ограничить нагрузку на процессор

Ограничить нагрузку на процессор

Пишу что-то вроде софтины для сервера, позволяющей удобно поднимать разные bat-ники ("сервера") из одного места, сохранять их настройки и аргументы...

144
Как удалить загруженную рекламу в AdMob?

Как удалить загруженную рекламу в AdMob?

Я инициализирую и загружаю рекламу на старте:

142
С# выяснить содержимое листа при GetType().GetFields

С# выяснить содержимое листа при GetType().GetFields

Мы узнаем количество полей и их значение в классе следующим образом

173
C#. Как список методов передать в метод?

C#. Как список методов передать в метод?

Помогите разобраться!

189