Я хочу сделать объединение в 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
и попытался использовать свободный синтаксис для нескольких объединений, но, поскольку после каждого объединения для следующего объединения требуется комбинированная выходная подпись предыдущего, я не смог заставить его работать.