我需要一個非常簡單的查詢在我的應用程序,但我不知道如何將它轉換成Linq到SQL,因爲我需要它在一個asp.net應用程序。從T-Sql到Linq到SQL
由於內部程序,它是一個lambda表達式是壞的。
在T-SQL,它看起來像這樣:
select top 1 [datum]
from Test
where Datum <> (select max (Datum) from Test)
對不起,愚蠢的問題提前。
我需要一個非常簡單的查詢在我的應用程序,但我不知道如何將它轉換成Linq到SQL,因爲我需要它在一個asp.net應用程序。從T-Sql到Linq到SQL
由於內部程序,它是一個lambda表達式是壞的。
在T-SQL,它看起來像這樣:
select top 1 [datum]
from Test
where Datum <> (select max (Datum) from Test)
對不起,愚蠢的問題提前。
可以使用Max
功能內嵌在查詢
var result = Test
.Where(t => t.Datum != Test.Max(t1 => t1.Datum))
.Select(t => t.Datum)
.FirstOrDefault();
要使用lambda表達式應用這樣的查詢首先你需要獲取從表中測試的所有記錄,並且您得到可以用來獲取列表輸出你想要的。 從數據庫中獲取列表後,示例查詢將如下所示。
變種測試=測試 .OrderByDescending(E => e.datum) .Skip(1) 。首先();
您可以將表達式從'.Where()移動到'.FirstOrDefault()'並移除'.Where()' –
是的,但這只是語法糖和個人偏好,它不會影響查詢本身 – jtate