需要等效的给定SQL查询的Linq

时间:2014-02-21 06:31:04

标签: linq linq-to-entities

以下是我的SQL查询。

SELECT * FROM MyTable
WHERE 
MyColomn = 
(
    SELECT Max(MyColomn) FROM MyTable
    WHERE MyColomn <= @input 
) 
or 
MyColomn = 
(
     SELECT min(MyColomn) FROM MyTable
     WHERE MyColomn >= @input
) 

有人可以帮助我获得LINQ等效查询吗?

1 个答案:

答案 0 :(得分:0)

您的linq是这样的:

DbContext.MyTable.Where(u =>

    u.MyColomn == DbContext.MyTable.Where(t => t.MyColomn <= @input)
        .Max(t => t.MyColomn) ||
    u.MyColomn == DbContext.MyTable.Where(t => t.MyColomn >= @input)
        .Min(t => t.MyColomn)

).ToList();