C#lambda或linq查询 [英] C# lambda or linq query
问题描述
我有3个实体:
TableA (Id,Code,Start,End)
I've got 3 entities:
TableA (Id, Code, Start, End )
表B (代码,开始,结束,表格A)
TableB (Code, Start, End, TableAId )
TableC (代码,开始,结束)
我要做的是以下内容,而不是使用linq或lambda(最好)的sql查询:
TableC (Code, Start, End )
What I'm trying to do is the following, but instead of sql query using linq or lambda(preferable):
SELECT a.Id
FROM TableA a
FROM TableA a
INNER JOIN TableB b ON(a.Id = b.TableAId)
INNER JOIN TableB b ON ( a.Id = b.TableAId )
INNER JOIN TableC c ON(( a.Code = c.Code AND(a.Start BEWTEEN c.Start AND c.End OR a.End BEWTEEN c.Start AND c.End))OR(b.Code = c .Code AND(b.Start BEWTEEN c.Start AND c.End OR b.End BEWTEEN c.Start AND c.End)))
INNER JOIN TableC c ON ( ( a.Code = c.Code AND ( a.Start BEWTEEN c.Start AND c.End OR a.End BEWTEEN c.Start AND c.End ) ) OR ( b.Code = c.Code AND ( b.Start BEWTEEN c.Start AND c.End OR b.End BEWTEEN c.Start AND c.End ) ) )
我一直试图将这项工作暂时完成,但却无法完成。我正在努力做的是桌子上的内部连接和中间连接的OR。
任何帮助都将赞赏
推荐答案
Linq不是全部停止并结束所有解决方案,也不是lambda。
Linq is not the stops all and ends all solution and neither is lambda.
IMO,你需要用上面的T-SQL创建一个存储过程并调用它来返回ID的结果。
IMO, you need to create a stored procedure with the above T-SQL and call it to return the result of the ID.
这篇关于C#lambda或linq查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!