【发布时间】:2019-02-28 19:49:06
【问题描述】:
如何使用 LAMBDA 将下面代码中的 Join 实现到 C# 中
Select
VD.Id
, VD.BusinessAddress
, VD.BusinessDesc
, VD.BusinessEmail
, VD.BusinessName
, VD.BusinessZip
, VD.ContactPerson
, VD.ContactNo
, VD.ProfileUrl
, L.Name
, BC.BusinessCategory
from vendorDomain VD WITH(NOLOCK)
left Join Location L WITH(NOLOCK) ON VD.City = L.Id
left join Business_Category BC WITH(NOLOCK) ON VD.BusinessCategory = BC.BusinessId
where VD.IsDeleted = 0
我必须在以下 API 中实现连接操作:
[HttpGet]
public async Task<IActionResult> Get()
{
var VendorList =await _vendorRepository.Query().Where(x => x.IsDeleted == false).ToListAsync();
return Ok(VendorList);
}
那里有很多示例,但对于新手开发人员来说是一种困惑..
编辑:
这是我目前尝试过的:
var employees = from vndr in context.vendorDomain
join C in context.Location on vndr.City equals C.Id into dep
from dept in dep.DefaultIfEmpty()
select new
{
vndr.BusinessAddress,
vndr.BusinessDesc,
vndr.BusinessEmail,
vndr.BusinessName,
vndr.BusinessWebsite,
vndr.BusinessZip,
vndr.ContactNo,
vndr.ContactPerson,
vndr.Created_At,
vndr.ProfileUrl,
vndr.Url,
dept.Name
};
【问题讨论】:
-
您只是想将 sql 查询转换为 linq,还是想以某种方式将其与
VendorList变量合并? -
@Marco 我需要将城市名称和业务类别添加到 VendorList 表中
-
再次:您只是需要将 SQL 查询转换为 LINQ 查询还是需要更多 - 即以某种方式使用 VendorList 变量?
-
加入后我要打印VendorList
标签: asp.net-web-api lambda left-join