use*_*093 5 c# linq lambda join
我正在寻找 Msql 查询的对应部分:
SELECT per.*,add.addressDescription FROM Persons per
JOIN Address add ON per.AddressId = add.AddressId
Run Code Online (Sandbox Code Playgroud)
我有这样的疑问:
var query = persons.JOIN(address,per = person.addressId,add = addressId
(per,add) =>
new Persons{
addressDescription = add.addressDescription,
PersonId = per.PersonId,
PersonFirstName = per.PersonFirstName
PersonLastName = per.PersonLastName})
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以Persons.addressDescription在不单独分配 的其他属性的情况下进行填充Persons?想象一下如果Persons还有 10 个以上的属性。
我想避免使用如下循环:
foreach(Person person in PersonList)
{
foreach(Address address in AddressList)
{
if(person.addressId == address.addressId){
person.addressDescription = address.addressDescription
}
}
}
Run Code Online (Sandbox Code Playgroud)
var query = persons.join(address,
per = person.addressId,
add = addressId
(per,add) =>
{
per.addressDescription = add.addressDescription;
return per;
});
Run Code Online (Sandbox Code Playgroud)