mvc4 lambda:向对象模型添加单独的查询
本文关键字:单独 查询 添加 对象模型 lambda mvc4 | 更新日期: 2023-09-27 18:21:56
我有一个查询,它提取有关作业的信息:
var jobs = db.jobs.Include(d => d.docs)
.Where(o => o.officeid == 2);
return View(jobs.ToList());
这很好,但是,我还必须以某种方式添加以下查询,这样我就可以在.cs.html页面上打印一列额外的"字数"值。
SELECT SUM(docs.words) FROM docs
LEFT OUTER JOIN reviewer ON docs.reviewerid = reviewer.reviewerid
WHERE docs.docid = 1111 AND reveiwer.type = 'student'
因此,简而言之,顶部第一个lambda查询中的所有作业数据都需要打印在一个表中。。。但是,最后一个查询需要转换为lambda形式,并与原始lambda查询组合,以便将每个文档的字数添加到作业对象模型中。
这就是我所拥有的,但它不起作用:
var jobs = db.jobs.Include(d => d.docs)
.Include(r => r.docs)
.Sum(s => s.docs.words)
.Where(o => o.officeid == 2);
return View(jobs.ToList());
请问正确的方法是什么?非常感谢!
也许可以试试这样的东西:
public class Job
{
public List<Doc> Docs;
}
public class Doc
{
public int Words;
}
List<Job> Jobs = new List<Job> {
new Job { Docs = new List<Doc> { new Doc { Words = 5 }, new Doc { Words = 10} } },
new Job { Docs = new List<Doc> { new Doc { Words = 5 } } }
};
var res = Jobs.Select(x => new { Jobs = x, Cnt = x.Docs.Sum(y => y.Words) });
并创建一个ViewModel,其中包含要发送到视图的作业及其字数,而不是对象列表。