1
我一直在使用EF6我的应用程序,并会很快转移到6.1。通常情况下我所有的EF与LINQ处理这样的:当我用EF6查询数据库时,使用LINQ有什么好处?
var exams = _examsRepository
.GetAll()
.Where(q => q.SubjectId == subjectId)
.Include(q => q.Tests)
.ToList();
但是我只是一个建议,使用这个特定的查询:
var exams1 = (from ex in DbContext.Exams
join t in DbContext.Tests on ex.ExamId equals t.ExamId
join ut in DbContext.UserTests on t.TestId equals ut.TestId
where ut.UserId == "123"
select new { ex, t, ut }).ToList();
有人能告诉我什么是使用的优点第二种方式。我认识的一个优点是,它似乎我可以做的事情不能做的第一种方式(还没有人能够在我们所需要的在第二个例子中第一路码。如果有什么任何的其他的优势是什么?他们是唯一两种推荐方式,我可以使用EF来查询SQL Server 2012的数据库。
我想更多地了解如何在第二路码。有谁知道这解释了一些很好的联系?
这两种形式是LINQ,前者只使用表达式语言的语法。据我所知,两者之间没有功能上的区别,乍一看第二个例子不应该很难转换为前者。 –
@JeroenVannevel - 我开了一个关于这个问题,并没有人能够做到这一点/搞不定。我很快就会开始赏金。 – Melina