我正在为我的应用程序使用ADO.NET DataService Query。我注意到,对于某些查询参数组合会导致DataServiceQuery抛出异常。但是,如果我添加额外的伪参数(例如JNO != null
),它不会引发任何错误。
string bNo = "00000001";
DateTime targetTime = DateTime.Today;
以下是我尝试过的组合:
无错误
this.proxy.T_BRecord 那里(b => b.RecordDate == targetTime)
无错误
this.proxy.T_BRecord 那里(b => b.JNO == bNo)
错误抛出 - 错误请求
this.proxy.T_BathRecord 那里(b => b.JNO == bNo&& b.RecordDate == targetTime)
无错误
this.proxy.T_BRecord 那里(b => b.RecordDate == targetTime&& b.JNO == bNo&& b.JNO!= null)
我正在尝试搜索调试数据服务的方法。我已经尝试按照建议的here添加详细的调试设置。但错误只是一个原始的错误请求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>