繁体   English   中英

子选择进入LINQ

[英]Sub Select into LINQ

我对LINQ相当陌生,我用SQL编写了一个查询,但我不太确定如何转换为LINQ语句。 我所拥有的导致MAX()出现语法错误,可能是因为MAX()无法对日期时间值进行运算

任何帮助表示赞赏。

SQL

select COUNT(distinct Club) as total
FROM GCClubData 
where NCBClub = 0 
and Date = (select max(Date) from GCClubData)

LINQ

var db = new EFContext();
var data = db.GCClubDatas.Where(x => x.Date.Equals(db.GCClubDatas.Max().Date) && !x.NCBClub);
db = new EFContext();
var maxDate = db.GCClubDatas.Max(x => x.Date);
var data = db.GCClubDatas.Where(x => x.Date == maxDate && !x.NCBClub);

就数据库命中而言,这将更加有效:

db.GCClubDatas.Where(x => x.Date == db.GCClubDatas.Max(y => y.Date) && x.NCBClub == 0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM