1

我正在为我的应用程序使用 ADO.NET DataService Query。我注意到对于某些查询参数组合会导致 DataServiceQuery 引发异常。JNO != null但是,如果我添加额外的虚拟参数(例如),它不会抛出任何错误。

string bNo = "00000001";
DateTime targetTime = DateTime.Today;

以下是我尝试过的组合:

  1. 没有错误

    this.proxy.T_BRecord .Where(b => b.RecordDate == targetTime)

  2. 没有错误

    this.proxy.T_BRecord .Where(b => b.JNO == bNo)

  3. 引发错误 - 错误请求

    this.proxy.T_BathRecord .Where(b => b.JNO == bNo && b.RecordDate == targetTime)

  4. 没有错误

    this.proxy.T_BRecord .Where(b => b.RecordDate == targetTime && b.JNO == bNo && b.JNO != null)

我正在尝试寻找一种调试数据服务的方法。我已经尝试按照这里的建议添加详细的调试设置。但错误只是一个原始的 Bad Request HTML 标记,没有错误详细信息。代码未通过 URI 到达数据请求。我怀疑这可能是实体框架 DLL 问题,但我找不到有关该问题的任何文档。

当我通过浏览器手动输入查询 URI 时,它会返回查询结果。我使用了以下查询 URI:

http://localhost:9009/BabyDBSvc.svc/T_BRecord()?$filter=(RecordDate%20ge%20datetime'2013-01-04T00%3A00%3A00')%20and%20(JNO%20eq%20'0000000004')

我得到了以下 XML 结果:

<?xml version="1.0" encoding="shift_jis" standalone="yes"?>
<feed xml:base="http://localhost:9009/BabyDBSvc.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <title type="text">T_BathRecord</title>
  <id>http://localhost:9009/BabyDBSvc.svc/T_BRecord</id>
  <updated>2013-01-04T06:06:49Z</updated>
  <author>
    <name />
  </author>
  <link rel="self" title="T_BathRecord" href="T_BRecord" />
</feed>
4

0 回答 0