簡體   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