请帮助我将此sql转换为LINQ DECLARE@items表( pfid varchar(8), timestart日期时间, 时间结束日期时间 ) 插入@items(pfid、timestart、timeend) 值('123456'、'12:00 AM'、'3:00 AM') ,('987654','凌晨2:00','下午4:00') ,('492384','3:00 PM','9:00 PM') 从@items a中选择* 内部连接@items b 在a.timestart

请帮助我将此sql转换为LINQ DECLARE@items表( pfid varchar(8), timestart日期时间, 时间结束日期时间 ) 插入@items(pfid、timestart、timeend) 值('123456'、'12:00 AM'、'3:00 AM') ,('987654','凌晨2:00','下午4:00') ,('492384','3:00 PM','9:00 PM') 从@items a中选择* 内部连接@items b 在a.timestart,linq,Linq,我需要将上面的select语句转换为LINQ。在我的代码中,我正在使用一个名为“dt”的数据表。我的表有三列,就像上面的例子一样,名称完全相同,并且填充了这些数据 我正在努力创建一个LINQ查询,它将以我的SQL查询与上面的临时表相同的方式查询我的DataTable。请帮忙。提前谢谢 我没有测试这一点,但如果需要,您可能需要执行Datetime.Parse等操作 DECLARE @items table ( pfid varchar(8), timestart datetime,

我需要将上面的select语句转换为LINQ。在我的代码中,我正在使用一个名为“dt”的数据表。我的表有三列,就像上面的例子一样,名称完全相同,并且填充了这些数据


我正在努力创建一个LINQ查询,它将以我的SQL查询与上面的临时表相同的方式查询我的DataTable。请帮忙。提前谢谢

我没有测试这一点,但如果需要,您可能需要执行Datetime.Parse等操作

DECLARE @items table (
    pfid varchar(8),
    timestart datetime,
    timeend   datetime
)

insert INTO @items(pfid,timestart,timeend)
VALUES('123456','12:00 AM','3:00 AM')
,('987654', '2:00 AM', '4:00 PM')
,('492384', '3:00 PM', '9:00 PM')

SELECT * FROM @items a
    INNER JOIN @items b
        ON a.timestart < b.timeend
        AND b.timestart < a.timeend
        AND a.pfid != b.pfid
(来自dt.Rows.OfType()中的r1)
从类型()的dt.行中的r2开始
其中r1[“timestart”]
您尝试过什么?展示一些代码,说明您已经做出了努力,并澄清您到底遇到了什么问题?为什么使用datatable?我无法使用哈希表集合完成我想要的…需要某个地方来放置哈希表中的数据,因此我提出了datatable。什么是更好的选择?谢谢你的来信。这很有效!!非常感谢你。我努力让DataTable中填充了几个哈希表的内容,这样我就可以查询它们了……但一旦我到了创建LINQ查询的阶段,我就被难倒了。谢谢你帮助我!!不客气……我知道有一天你会帮助我:-)
(from r1 in dt.Rows.OfType<DataRow>()
 from r2 in dt.Rows.OfType<DataRow>()
 where r1["timestart"] < r2["timeend"] &&  r2["timestart"] < r1["timeend"] && r1["pfid"] != r2["pfid"]
 select new {R1=r1, R2=r2})