linq to sql:複雑なクエリと匿名タイプの処理
linq to sqlはデータベースインタラクションの強力なツールですが、複雑な結果セット、特に匿名タイプを含むものを扱う場合、制限が存在します。 これは、複数のテーブルを照会すると明らかになります
「犬」(列の名前」、「年齢」、「breadid」)、「breed」(「breadid」、 "breedname")の2つのテーブルを検討します。 目標は、犬の情報とその品種名を取得することです。 結合と匿名のタイプの投影を使用した素朴なアプローチは次のようになるかもしれません:
var result = from d in db.Dogs join b in db.Breeds on d.BreedId equals b.BreedId select new { Name = d.Name, BreedName = b.BreedName };
推奨されるソリューションは、結合されたデータを表すためにカスタムクラスを定義することです。
このクラスのインスタンスに入力するようにクエリが変更されます。
public class DogWithBreed { public Dog Dog { get; set; } public string BreedName { get; set; } }
以上がLINQを使用してSQLを使用して複数のテーブルを照会するときに匿名タイプの制限を克服する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。