[英]Idaeablade PassthruEsqlQuery returns empty list
我有两个查询应该执行相同的工作:
1。
var date = DateTime.
var q = _entityManager.Websites.Include("OfflineSites")
.Where(website => (website.LastCheck == null) || SqlFunctions.DateDiff("minute", website.LastCheck.Value, date) >= website.CurrentPingTime);
q.QueryStrategy = QueryStrategy.DataSourceOnly;
var lst = q.Execute().Cast<Website>().ToList();
2。
var query = new PassthruEsqlQuery(typeof(Website), @"Select * From Websites Where Id in (Select Id From (Select Id,CurrentPingTime,Abs(DateDiff(minute,CURRENT_TIMESTAMP,LastCheck)) LastCheckDiffNow From Websites )
as ret Where CurrentPingTime <= LastCheckDiffNow)");
query.QueryStrategy = QueryStrategy.DataSourceOnly;
var result = query.With(_entityManager).Execute().Cast<Website>();
var lst = result.ToList()
但是第一个像魅力一样工作,但速度较慢,第二个返回空列表。 这很奇怪,因为我已经检查了SSMS中的sql代码,并提供了良好的结果。 可能是这种行为的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.