我在我的sql server中处理这个查询select a.care_type_id, a.description,isChecked = case when b.care_type_id is null then false else true endfrom caretype aleft join patientinsurancetacitem b on a...
我在我的sql server中处理这个查询
select a.care_type_id, a.description,
isChecked = case when b.care_type_id is null then 'false' else 'true' end
from caretype a
left join patientinsurancetacitem b on a.care_type_id = b.care_type_id and
b.tac_id = 1
我想将查询翻译成LINQ.但是,我和操作符有问题.到目前为止我有这个代码;
from a in context.CareTypes
join b in context.PatientInsuranceTACItems on a.care_type_id equals
b.care_type_id into x
from xx in x.Where(w => w.tac_id == 1).DefaultIfEmpty()
select new {
isChecked = (b.care_type_id == null ? false : true),
care_type_id = a.care_type_id,
description = a.description}
而且,我也无法得到我在isChecked变量中等同的b.从哪里开始修改以获得与我的SQL查询相同的结果?在哪里弄错了?
解决方法:
试试这个
from a in context.caretype
join b on context.patientinsurancetacitem
on new { CA = a.care_type_id, CB = 1} equals
new { CA = b.care_type_id, CB = b.tac_id}
into tmp from b in tmp.DefaultIfEmpty()
select new
{
care_type_id = a.care_type_id,
description = a.description,
checked = (b != null) // Or ((b == null) ? false : true)
}
另请查看this StackOverflow answer.
沃梦达教程
本文标题为:SQL查询到LINQ C#[加入多个表]
基础教程推荐
猜你喜欢
- 在 .NET Core 5 中集成 Create React app 2023-09-27
- C# WPF实现3D操作几何体效果 2023-07-18
- 浅谈Unity脚本生命周期与执行顺序 2023-04-21
- c#基础知识---委托,匿名函数,lambda 2023-02-25
- 深入理解.NET中的异步 2023-04-21
- c# – LINQ和SQL中看似等效的查询返回不同的结果 2023-11-22
- 如何给C#变量取名字 2023-07-18
- C# 压榨cpu的办法(推荐) 2023-05-11
- c# 编写的简单飞行棋游戏 2023-04-21
- C# 解决在Dictionary中使用枚举的效率问题 2023-04-10