首先,我必须根据Table1
中的条件值过滤值。
然后我必须从Table2
加入另一个名为Table1
的表格。这两个表有共同字段 Condition2 。
最后,我应该通过加入Table2
和Table3
常见条件(Final_Condition)满意值来获得基于最终条件的值。
我使用下面的查询来获取数据。但我得到了交叉加入的结果。
var result = db.Table1
.Where(m => m.u.Condition == "Condition")
.Join(db.Table2, u => u.Number, uir => uir.Number, (u, uir) => new { u, uir })
.Where(m => m.u.Condition2 == m.uir.Condition2)
.Join(db.Table3, proposal => proposal.uir.ID.Leasing_Proposal_Id, prop => prop.ID,
(proposal, prop) => new
{
proposal.u,
proposal.uir,
prop
})
.Where(m => m.uir.FinalCondition == m.prop.FinalCondition)
.AsEnumerable()
.Select(m => new Model
{
Name = m.Name,
Id = m.Id,
Dept = m.Dept
})
.Where(m => ((m.Name != null) ? m.Name.ToUpper().Contains("xxx") : false))
.Cast<IResult>()
.ToList();