C# asp.net mvc 4 linq扩展方法语法联接
我有这段代码示例,我已经搜索了这个linq扩展方法的正确语法,但是我还没有找到正确的语法?请提前感谢您您以错误的方式混合了查询和方法语法C# asp.net mvc 4 linq扩展方法语法联接,c#,asp.net,asp.net-mvc,linq,C#,Asp.net,Asp.net Mvc,Linq,我有这段代码示例,我已经搜索了这个linq扩展方法的正确语法,但是我还没有找到正确的语法?请提前感谢您您以错误的方式混合了查询和方法语法 var model = _db.Seuni .Join(from o in _db.Keuni join c in _db.Seuni on o.klasaid equals c.klasaid
var model = _db.Seuni
.Join(from o in _db.Keuni
join
c in _db.Seuni
on o.klasaid equals c.klasaid
select new {o.emriklases,c.emristudent,c.studentid,c.nota })
.OrderByDescending(r => r.nota)
或使用查询(订单方法)语法
如果不能使用方法语法,为什么不使用查询语法?如果涉及到连接,它的可读性会更好。如果需要使用查询语法不支持的方法,请将其拆分为两个查询。由于LINQ的延迟执行,它的效率并没有降低。我知道,但我正在尝试找到扩展方法。我似乎哪里也找不到它。我需要有人处理过这个问题@他们两人都是对的。一个是方法语法,另一个是查询语法。使用你觉得更简单的方法。顺便说一句,如果你需要与linq连接,那么你的数据设计可能有问题。您应该很少需要join.when我循环@foreach(模型中的var项){@item.studentid我也想打印klasaName,但当我打印@item时……它不会打印klasaName。请慢慢打印。首先在LinqPad中尝试Linq。然后创建视图模型并使用它。Linq查询语法是一个问题,利用razor中的结果是另一个问题。Cetin我缺少什么?即使使用您的查询,它也不会显示kla在@item后面加上saname。
var model = _db.Seuni
.Join(_db.Keuni,
c => c.klasaid,
o => o.klasaid,
(c, o) => new { o.emriklases, c.emristudent, c.studentid, c.nota })
.OrderByDescending(r => r.nota);
// query syntax
var model = (from o in _db.Keuni
join c in _db.Seuni on o.klasaid equals c.klasaid
select new { o.emriklases, c.emristudent, c.studentid, c.nota })
.OrderByDescending(r => r.nota);