我有两张桌子上的SQL query
。
这是我的查询
Select a.cSubGroupName,a.cAddedBy,a.dAddedOn,b.cGroupName
from sys_Log_Account_SubGroup a,sys_Account_Primary_Group b
where a.cAuthorizedStatus='Pending' and a.nGroupCode=b.nGroupCode
我正在尝试使用Lambda expression
执行相同的查询。
答案 0 :(得分:2)
var query = tA
.Where(a => a.cAuthorizedStatus == "Pending")
.Join(tB, a => a.nGroupCode, b => b.nGroupCode, (a, b) => new
{
cSubGroupName = a.cSubGroupName,
cAddedBy = a.cAddedBy,
dAddedOn = a.dAddedOn,
cGroupName = b.cGroupName
});
或
var query = tA
.Join(tB, a => a.nGroupCode, b => b.nGroupCode, (a, b) => new
{
cSubGroupName = a.cSubGroupName,
cAddedBy = a.cAddedBy,
dAddedOn = a.dAddedOn,
cGroupName = b.cGroupName,
cAuthorizedStatus = a.cAuthorizedStatus
})
.Where(j => j.cAuthorizedStatus == "Pending")
.Select(j => new
{
cSubGroupName = j.cSubGroupName,
cAddedBy = j.cAddedBy,
dAddedOn = j.dAddedOn,
cGroupName = j.cGroupName
});
请注意,只有在您想要明确排除返回集中的cAuthorizedStatus
列时才需要最后一次选择。