如何在linq中编写以下sql查询

时间:2017-11-14 13:25:03

标签: sql linq

select 
    coalesce(x.value,a.default_value) as value 
from table1 a 
left outer join 
    (
       select 
          b.configid,
          b.value 
       from table2 b 
       join table3 c on b.dataid=c.id 
       where c.id=0
    )x on a.id=x.configid 
where a.key='abc'

1 个答案:

答案 0 :(得分:0)

将SQL转换为LINQ,

  1. 将子选项转换为单独的变量
  2. 以LINQ子句顺序翻译每个子句,将monadic运算符(DISTINCT,TOP等)作为应用于整个LINQ查询的函数。
  3. 使用表别名作为范围变量。使用列别名作为匿名类型字段名称。
  4. 对多列使用匿名类型(new {})
  5. 使用连接变量模拟左连接,然后从连接变量开始,然后执行.DefaultIfEmpty()。
  6. 用条件运算符和空值测试替换coalesce