SQL转成LINQ应该怎么写,在线等候

oMeDream 2012-10-15 11:22:30
select max(id) from discuss group by sendid

这句SQL语句转换成Linq应该怎么写?
...全文
145 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2012-10-15
  • 打赏
  • 举报
回复
var query = db.discuss.GroupBy(x => x.sendid).Select(x => x.Max(y => y.id));
  • 打赏
  • 举报
回复
group by sendid
这句话有用?
tigercao101 2012-10-15
  • 打赏
  • 举报
回复
from a in table.OrderByDescending(p=>p.ID).Take(1) select a.ID;
oMeDream 2012-10-15
  • 打赏
  • 举报
回复
看来MSDN真的落魄了。
oMeDream 2012-10-15
  • 打赏
  • 举报
回复
别沉哈,小弟刚学LINQ,跪求大侠解答。
threenewbee 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

已经解决了。
正确的写法是这样的
C# code
from a in _bdContext.Discuss group a by a.SendId into g select new{g.Key,id=g.Max(p => p.ID)};
[/Quote]

你的“正确”写法和你的sql不等价,sql应该是
select max(id), sendid as key from discuss group by sendid
才和你的“正确”写法一致。
bluedoctor 2012-10-15
  • 打赏
  • 举报
回复
使用PDF.NET的ORM查询语言OQL可以这样写:

discuss entity=new discuss();

OQL q=OQL.From(entity)
.Select().Max(entity.id)
.GroupBy(entity.sendid)
.End;
详细内容可以查看这篇文章:
ORM查询语言(OQL)简介--概念篇
可以看出,OQL比Linq更接近SQL。

q107770540 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
SQL code
select max(id) from discuss group by sendid

这句SQL语句转换成Linq应该怎么写?
[/Quote]
按照你的SQL语句,这样就可以了:

from a in _bdContext.Discuss group a by a.SendId into g select g.Max(p => p.ID);
Tragedy 2012-10-15
  • 打赏
  • 举报
回复
var query = db.discuss.GroupBy(x => x.sendid).Select(x => x.Max(y => y.id));
这种也是可以的
oMeDream 2012-10-15
  • 打赏
  • 举报
回复
已经解决了。
正确的写法是这样的
from a in _bdContext.Discuss group a by a.SendId into g select new{g.Key,id=g.Max(p => p.ID)};

109,901

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧