linqの匿名タイプをsqlに処理する
linqからSQL結合は、複数のテーブルからデータを取得するのに強力です。 ただし、これらの結合から匿名タイプを直接返すことは、特に非一般的な方法で作業する場合、タイプの不一致につながる可能性があります。
「犬」(犬、年齢、品種)と「品種」(bredid、breedname)の2つのテーブルがあるとしましょう。 すべての犬を獲得するための簡単な結合は、。
IQueryable<Dog>
問題は、
を結果に含めようとすると発生します。これにより、多くの場合、タイプ関連のエラーが発生します
BreedName
select
エレガントなソリューション:カスタムクラス
すべてのクエリに新しいカスタムタイプを作成する代わりに、より保守可能なアプローチは、複合データを表すために再利用可能なクラスを定義することです。 この例では、オブジェクトと
文字列を含むクラスを作成します。DogWithBreed
Dog
BreedName
この
クラスを使用するためにクエリを変更することにより、タイプセーフでスケーラブルなソリューションを実現します。これにより、柔軟性を維持しながら匿名タイプの合併症が回避されます。 その結果、強くタイプのDogWithBreed
になり、コードをきれいにし、メンテナンスを容易にします。
以上がLINQからSQL結合の匿名タイプの結果をタイプの不一致なしに返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。