現在、MVC アプリケーションのモデルに3 つのデータベース クエリを設定しています。
これがどのようになるか:
IndexViewModel model = new IndexViewModel();
model.Links = Repository.GetAll().ToArray();
model.SourceOne = StaffMembersRepository.GetAll().ToArray();
model.SourceTwo = CategoriesRepository.GetAll().ToArray();
return model;
3 つのテーブルのすべての行を返すクエリを 1 つだけ (パフォーマンスを向上させるために) 作成したいと考えています。
この 3 つのテーブルはまったく接続されていない (接続されていないとしましょう) ため、内部結合を実行できません。
私はしようとしました
var result = from link in Repository.GetAll()
from staffMember in StaffMembersRepository.GetAll()
from category in CategoriesRepository.GetAll()
select new { link, staffMember, category };
CategoriesRepository.GetAll()
しかし、次のように言うコードの " " 部分を強調表示するコンパイル エラーがあります。
タイプ 'System.Linq.IQueryable' の式は、ソース タイプ 'System.Linq.IQueryable' のクエリ式の後続の from 句では使用できません。'SelectMany' の呼び出しで型の推定に失敗しました。
それがどのような意味でも。