0
我正在将一个linq查询移动到ado,似乎无法获得正确的语法来实现我想要的结果。如何选择没有行的日期落在当前星期的记录
我有一个简单的设置,其中用户有相关的操作。我想选择那些没有关注我的用户,并且本周没有文件上的操作记录。
下面是对应的LINQ查询我想转换(注意,这些都是不同的表名,但有完全相同的模式)
var users = context.IG_Cats_Users.Where(p => p.IsFollowing == false
& p.IsRequested == false &
!p.IG_Cat_Actions.Any(
a =>
DbFunctions.TruncateTime(a.Date) >=
first.Date
&
DbFunctions.TruncateTime(a.Date) <=
last.Date))
.Take(numOfUsers);
这里是我的查询到目前为止
var qry = "SELECT Id FROM Users "
+ "INNER JOIN Actions ON Users.Id = Actions.UserId "
+ "WHERE Users.IsFollowing = 0 AND Users.IsRequested = 0 AND IF NOT EXISTS ("
我想我会尝试IF NOT EXISTS
EXISTS
但每个例子他们在子句中运行子查询。我想,以确保被搜索的任何动作与从查询的第一部分用户相关联,但我无法弄清楚如何去解决它在TSQL
编辑
关于日期:我已经有两个日期值是在我传递给函数的代码中创建的。它计算在C#
好了,到这两个查询,然后关联的方法是通过别名的实际表。得到它了! – Adrian