3つのLINQクエリを1つに結合できるかどうかを確認しようとしています。私が抱えている問題は、内部LINQステートメントのwhere句にAnonプロパティの値が必要なことです。これはうまくいかないようです。私もLINQステートメントをインライン化しようとしましたが、それはどちらもうまくいきませんでした。Anonタイプのプロパティの1つを使用してAnonタイプでLinqを使用する
誰もこれまでに行ったことはありますか? PlaceNameは、PlaceIDを使用しているときに問題があるものです。
var Persons = from _person in people select new
{
ID = _person.Id,
Name = _person.Name,
Nationality = _person.Nationality,
Age = _person.Age,
PlaceID = (from _peopleplaces in peoplePlace where _person.Id ==_peopleplaces.PersonId select _peopleplaces.PlaceId).FirstOrDefault(),
PlaceName = (from _places in places where _places.Id == PlaceID select _places.Name).FirstOrDefault()
};
編集:私が午前、実際の問題はPlaceIDが地名のクエリで使用することができないということです、それはそれの下に赤い波線があります。 1つではなく3つのステートメントを使用する理由は、私自身のためです。私はLINQを勉強しています。私ができることとできないことを見たいと思っています。私は3つの別々のセットではなく、1つのセットを使用してPersonsオブジェクトにデータを埋め込むのが見栄えが良いと思っていました。
実際のエラーは、PlaceIDが現在のコンテキストに存在しないことです。
? – JaredPar
なぜ別個の3つのクエリを書かないのですか?それは読みやすく、簡単で、最終的な結果*はおそらくパフォーマンスの面でも同じになります。 – Tigran