私は LINQ を初めて使用します。質問があった場合は申し訳ありません
私は2つのクラスを持っています
public class Person
{
int ID {get;set;}
string FirstName {get;set;}
string LastName {get;set;}
}
と
public class House
{
int ID {get;set;}
string Address {get;set;}
string ZipCode {get;set;}
int PersonId {get;set;}
}
家のリストをIEnumerable Listに保存しています
IEnumerable<House> ListHouses = GetAllHouses();
GetAllHouses は、データベースから住宅のリストを返します
次のことを行うために、LINQでLamda selectを使用したい
var st = ListHouses .Select(h => new
{
id = h.ID,
Address= h.Address,
Zip= h.ZipCode ,
PersonFirstName = GetPersonByID(h.PersonId ).FirstName,
PersonLastname = GetPersonByID(h.PersonId ).lastname
});
GetPersonByID はPerson
、指定された ID を持つ Type のオブジェクトを返します。それから私は彼の姓と名を取ります。
私の質問はこれです:
変数 (personFirstName と PersonLastName) に対して Person を 2 回取得する代わりに、1 回取得してから使用する方法はありますか。何かのようなもの
PersonForId = GetPersonByID(h.PersonId)
PersonFirstName = PersonLastName.FirstName,
PersonLastname = PersonLastName.lastname
別のテーブルの値を結合する SQL の Join に似たものを探しています。
助けてくれてどうもありがとう