C# 嵌套选择查询I主选择查询LINQ
我几乎不使用LINQ,而是使用MSDAAB作为DAL,用于执行内联sql查询或db存储过程等。现在我需要使用LINQ从datatable提取数据 这里我附上一个屏幕截图,如我的数据的样子: 数据来自sql server,我正在使用下面的sql server查询。请先看我的查询C# 嵌套选择查询I主选择查询LINQ,c#,linq,C#,Linq,我几乎不使用LINQ,而是使用MSDAAB作为DAL,用于执行内联sql查询或db存储过程等。现在我需要使用LINQ从datatable提取数据 这里我附上一个屏幕截图,如我的数据的样子: 数据来自sql server,我正在使用下面的sql server查询。请先看我的查询 select (select count(*) as incoming from tridip_Interval where direction='I' and CONVERT(datetime,right([Call
select
(select count(*) as incoming from tridip_Interval where direction='I'
and CONVERT(datetime,right([Call Start],8)) >='08:30:00'
and CONVERT(datetime,right([Call Start],8)) <='09:00:00'
and Is_Internal=0 and continuation=0 and
RIGHT(convert(varchar,[call duration]),8)<> '00:00:00'
and party1name='Train5') as incoming,
(select count(*) as OutGoing from tridip_Interval where direction='O'
and CONVERT(datetime,right([Call Start],8)) >='08:30:00'
and CONVERT(datetime,right([Call Start],8)) <='09:00:00'
and Is_Internal=0 and continuation=0
and party1name not in ('Voice Mail')
and party1name='Train5') as OutGoing,
(select count(*) as CallTransfer from tridip_Interval where continuation=1
and CONVERT(datetime,right([Call Start],8)) >='08:30:00'
and CONVERT(datetime,right([Call Start],8)) <='09:00:00'
and RIGHT(convert(varchar,[call duration]),8)<> '00:00:00' and
party1name not in ('Voice Mail')
and party1name='Train5') as CallTransfer,
(SELECT count(*) as UnansweredCalls_DuringBusinessHours
from tridip_Interval where direction='I' and
CONVERT(datetime,right([Call Start],8)) >='08:30:00'
and CONVERT(datetime,right([Call Start],8)) <='09:00:00'
and RIGHT(convert(varchar,[call duration]),8)= '00:00:00'
and [Ring duration]>0 and party1name='Train5') as misscall
现在我想使用LINQ来查询数据表,但是我不擅长LINQ,所以不能用LINQ组合上面的类似sql的查询。所以我想知道是否有人能帮我用linq编写上面的查询
如果不能突出显示我的linq查询,我深表歉意,因为老实说,我对linq知之甚少,这就是为什么我没有想到如何用linq组合上面相同的sql查询。正在寻找hep和支持。Linq的过程就是针对不同的数据列表 第一步是使用ORM对象关系映射器,如Entity Framework EF。通过EF将表和存储过程平凡地映射到实体中,人们可以专注于显示或处理数据 因此,这就是Linq现在的用途,因为EF将使每个表都成为一个数据列表 我建议学习Linq最好的工具之一是开发人员专业编辑器,名为。使用具有object intellisense高级功能的Linqpad,它是手工制作linq查询的最佳工具 一个人如何学习Linq 从正在执行的表的10个实体开始,然后运行该工具。看看数据。然后添加一个.Where子句并再次查看显示的数据。注意,Linqpad.Dump上有一个特定于工具的扩展,可以显示数据 了解“选择”,它是投影扩展。投影意味着将当前数据列表投影到新的内容中。可以是新的匿名实体,也可以是要返回的特定类的新实例列表 继续添加到查询,直到创建了要实现的动态实体 但我主要在SQL中工作 还是用SQL思考 Linqpad将向您显示生成的SQL,该SQL是由Linq执行以实现其结果的。还可以对数据库运行SQL查询!一个包含原始SQL查询的窗口和一个帮助学习的窗口Linq如何 这一好处可能会给开发Linq查询提供一些见解 这就是我在林克教会自己思考的方式,我从未回头
最近,我在题为《SQL查询》的文章中介绍了如何使用存储过程和EF来实现linq的最终目标。我只需要让EF运行SQL查询,所以您所需要的只是一个可以表示该输出的C对象。context.Database.SqlQueryHi是我的朋友。她也这样问我,但我帮不了她。因此,如果可能的话,给她一些提示,试着为她的场景编写一个linq示例。