C# 使用日期精度运行查询时,不能提供带日期的时间

C# 使用日期精度运行查询时,不能提供带日期的时间,c#,sql,tfs,C#,Sql,Tfs,我正在做tfs工作项目。我试图使用query获取workitem集合,我得到以下错误。有什么可以帮我的吗 [System.ChangedDate]>'4/19/06 1:00 PM'返回以下错误“在使用日期精度运行查询时,无法提供日期时间。该错误是由«[System.ChangedDate]>'4/19/06 1:00 PM'»引起的。”但此字段具有日期时间精度。对于为什么会发生这种情况,有什么建议或答案吗 var myquery= " SELECT [System.Id]" +

我正在做tfs工作项目。我试图使用query获取workitem集合,我得到以下错误。有什么可以帮我的吗

[System.ChangedDate]>'4/19/06 1:00 PM'返回以下错误“在使用日期精度运行查询时,无法提供日期时间。该错误是由«[System.ChangedDate]>'4/19/06 1:00 PM'»引起的。”但此字段具有日期时间精度。对于为什么会发生这种情况,有什么建议或答案吗

var myquery= " SELECT [System.Id]" +
        " FROM WorkItems " +
    " WHERE " +
    " [System.TeamProject] = '" + ivSettings.Project + "'" + 
        " AND [System.ChangedDate] = '" + ivSettings.LastSyncGen + "'" + " " +
    " ORDER BY [System.Id]"

                 , null,false);
    Query qry = new Query(myworkitemstore, myquery, mycontext, false);

    ICancelableAsyncResult car = qry.BeginQuery();
      WorkItemCollection items = qry.EndQuery(car);
以上是我的代码


提前感谢

只是一个建议-您是否尝试过在TFS API中执行此查询

var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://localhost:8088/tfs")); 
    tfs.EnsureAuthenticated(); 
    var workItemStore = tfs.GetService<WorkItemStore>();
    var query = string.Format(@"     Select [Id], [Work Item Type], [Title], [State], [System.ChangedDate] From WorkItems", title);
    List<WorkItem> workItems = workItemStore.Query(query)
var tfs=tfstreamprojectcollectionfactory.GetTeamProjectCollection(新Uri(“http://localhost:8088/tfs")); 
tfs.确保重新验证();
var workItemStore=tfs.GetService();
var query=string.Format(@“从工作项中选择[Id],[Work Item Type],[Title],[State],[System.ChangedDate],Title);
List workItems=workItemStore.Query(查询)
然后在系统上执行LINQ查询。更改日期


我还没有尝试过,但这可以奏效吗?

我在尝试查询最新更新时遇到了同样的问题,并通过执行以下操作解决了这个问题

// defined elsewhere
private DateTime lastUpdated;


string consult = "select * from WorkItem where [Created Date] > ' "  + lastUpdated.ToString("MM/dd/yy") + 
                    "' AND [Work Item Type] = 'Test Case'";

IEnumerable<ITestCase> tcc = testManagementTeamProject.TestCases.Query(consult).Where(tp => tp.DateCreated > lastUpdated);
//在别处定义
私人日期时间最新更新;
string consult=“从[创建日期]所在的工作项中选择*”+lastUpdated.ToString(“MM/dd/yy”)+
“'和[工作项类型]='测试用例';
IEnumerable tcc=testManagementTeamProject.TestCases.Query(参考).Where(tp=>tp.DateCreated>LastUpdate);

我在检索测试结果时也做了类似的事情

您确定下面这行是您正在使用的吗:

    Query qry = new Query(myworkitemstore, myquery, mycontext, false);
当最后一个参数设置为false时,不应出现此错误。只有将该参数设置为true或根本不提供该参数时,才会发生错误。默认值为true

参考:

我也遇到了同样的问题,拉维安思的解决方案对我很有效。问题可能在于日期格式。在我的例子中,将日期转换为“yyyy-MM-dd HH:MM:ss”格式是有效的。

不,这不起作用,我已将字段设置为false,但我仍然存在相同的问题,这就是为什么我在此处重新发布了新建议的原因