相关疑难解决方法(0)

LINQ中的多个"order by"

我有两个表,movies并且categories,我首先按类别ID获取有序列表,然后按名称获取.

影片表有三列,ID,Name和CategoryID.类别表2包含列,ID和名称.

我尝试了类似下面的内容,但它没有用.

var movies = _db.Movies.OrderBy( m => { m.CategoryID, m.Name })
Run Code Online (Sandbox Code Playgroud)

linq sql-order-by

1537
推荐指数
7
解决办法
58万
查看次数

LINQ:自联接查询,如何实现?

有人可以帮忙吗?

我有1个类,基本上它拥有成员,并且在该类中是一个List.

我在列表中的成员也......所以基本上它是这样的,

我有2个成员,每个成员都有多个会话.

我希望只用1个会话返回每个成员.

我做了一个LINQ查询,但当然它不起作用......

我想我需要做一个自我加入,任何想法?

基本上我的错误是m在我的子查询自连接中不存在.

var sessions =  
from m in this.members                     
join s in
(
    from se in m.Sessions
    group se by se.Name into g
    select new {Name = g.Key, SessioEndTime = g.Max(a=>a.SessioEndTime)}
)   
on m.Name equals s.Name                    
select new { MemberName = m.Name, SessionTime = s.SessioEndTime}
Run Code Online (Sandbox Code Playgroud)

我很感激任何人的反馈.

提前致谢.

编辑

好吧,我设法像下面这样做,但这是最好的方法吗?

var sessions =  
from m in this.members                     
let sn = m.Sessions.OrderByDescending(a => a.SessionEndTime).FirstOrDefault()                
select new { MemberName = m.Name, SessionTime = sn.SessioEndTime}
Run Code Online (Sandbox Code Playgroud)

这种方式sn包含1条记录,但我可以访问所有属性...

但这是使用LET的最佳方式吗?

谢谢.

linq linq-to-objects self-join linq-to-sql

3
推荐指数
1
解决办法
2584
查看次数