Параметризация нескольких соединений в EF - PullRequest
0 голосов
/ 10 июля 2019

Я хочу сделать объединение в Entity Framework универсальным, чтобы я мог передать сущности и условия объединения.Он должен быть в состоянии сделать столько соединений, сколько необходимо.Например, здесь у меня есть два соединения:

var result = (from outer in dbSet
              join inner1 in context.entity on outer.x1 equals inner1.id
              join inner2 in context.entity on outer.x2 equals inner2.id
              select new
              {
                  id = outer.id,
                  inner1,
                  inner2
              }
              )
             .ToList()

context.entity будет одинаковым, поэтому мне не нужно его параметризовать.Я попытался создать служебный метод с подписью GetItemsWithTranslations<T>(DbSet<T> dbSet, List<Expression<Func<T, string>>> dbSetSelectors) where T:class и попытался использовать свободный синтаксис для нескольких объединений, но, поскольку после каждого объединения для следующего объединения требуется комбинированная выходная подпись предыдущего, я не смог заставить его работать.

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