У меня был похожий пост ранее, но я понял, что задаю не тот вопрос.
У меня есть запрос с парой объединений. Я пытаюсь добавить Where(x => x.y.Code == x.x.VariableColumn)
(см. HistoryCode ниже) `
У меня есть этот код:
var query = db.HistoryData
.Join(db.Calendars, x => x.EventId, x => x.EventId, (x, y) => new { x, y.CompanyId })
.Join(db.JobData, x => x.CompanyId, x => x.CompanyId, (x, y) => new { x.x, y })
.Where(x => x.x.CompanyId == companyId && x.y.JobLevel == levelNumber);
var historyParameter = Expression.Parameter(typeof(HistoryData), "hist");
var historyCode = Expression.Property(historyParameter, $"field{levelNumber}");
var jobParameter = Expression.Parameter(typeof(JobData), "job");
var jobCode = Expression.Property(jobParameter, "code");
var operation = Expression.Equal(jobCode, historyCode);
var filterCondition = Expression.Lambda<Func<string, bool>>(operation, new[] { jobParameter, historyParameter });
Когда я попадаю в присвоение filterCondition
, я не знаю, как выразить тип (у меня есть «строка», но мне нужен анонимный тип, у которого есть данные HistoryData и JobData из объединения.