目前,我正在使用三个数据库查询在我的 MVC 应用程序中填充一个模型。
这是怎么回事:
IndexViewModel model = new IndexViewModel();
model.Links = Repository.GetAll().ToArray();
model.SourceOne = StaffMembersRepository.GetAll().ToArray();
model.SourceTwo = CategoriesRepository.GetAll().ToArray();
return model;
我希望只进行一个查询(以获得更好的性能),它应该返回三个表的所有行。
我不能进行内部连接,因为这三个表根本没有(假设它们没有)连接。
我试过
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”的查询表达式的后续 from 子句中不允许使用“System.Linq.IQueryable”类型的表达式。对“SelectMany”的调用中的类型推断失败。
不管它是什么意思。