LINQ to SQL与where语句一起使用

Thu*_*der 1 .net sql linq case where

我有一个SQL查询,我想转换为LINQ.我已将数据提取到datatable.I我很困惑如何编写查询的WHERE部分.条件取决于表中的列,如果col_Con为"G",则使用大于col_Val和30(任何值),否则如果col_Con为"L",则使用小于col_Val和30(任何值)的条件

我使用Sqlserver 2005作为SQL查询部分.

SELECT *
FROM   Mytable
WHERE 
    CASE
    WHEN col_Con= 'G' THEN 
        col_Val
    ELSE 
        30
    END 
        <= 
    CASE
    WHEN col_Con= = 'L' THEN 
        30
    ELSE 
        col_Val
    END 
Run Code Online (Sandbox Code Playgroud)

这是我的Linq的开始

            //Mytable is a DataTable
            var drs = from DataRow dr in Mytable.Rows
            where   
            ...
            select dr;
Run Code Online (Sandbox Code Playgroud)

Gui*_*rte 5

var drs = from DataRow dr in Mytable.Rows
            where   
            (col_Con == 'G' ? col_Val : 30) <= (col_Con == 'L' ? 30 : col_Val)
            select dr;
Run Code Online (Sandbox Code Playgroud)