2

現在、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' の呼び出しで型の推定に失敗しました。

それがどのような意味でも。

4

2 に答える 2