我有一个使用SQLiteStore的Azure应用程序,但每当我将PullAsync的查询更改为具有Where子句的内容时,它就会给我一个"请求无法完成。 (错误的要求)"异常。
数据库中存在现有数据。
使用:
await syncTable.PullAsync("id", syncTable.CreateQuery(), false, new CancellationToken(), new PullOptions());
不起作用:
await syncTable.PullAsync("id", syncTable.Where(w => w.otherTableId=="dkdkdkdkd"), false, new CancellationToken(), new PullOptions());
不起作用:
await syncTable.PullAsync("id", syncTable.CreateQuery().Where(w => w.otherTableId=="dkdkdkdkd"), false, new CancellationToken(), new PullOptions());
是什么导致这种情况?
答案 0 :(得分:1)
我能够通过添加Column属性并更改" otherTableId"来完成这项工作。到" OtherTableId"在服务器端代码。
不确定为什么服务器端代码需要大写的O" OtherTableId"
public class SomeTable : EntityData
{
[Column("otherTableId")]
public string OtherTableId { get; set; }
}
Fiddler Trace:
HTTP / 1.1 400错误请求 内容长度:151 Content-Type:application / json;字符集= utf-8的 服务器:Microsoft-IIS / 8.0 X-Powered-By:ASP.NET 日期:2017年3月10日星期五03:36:28 GMT
{" message":" URI中指定的查询无效。找不到名为' OtherTableId' on type' Backend.DataObjects.SomeTable'。"}
获取https://XXXX.azurewebsites.net/tables/SomeTable?$ filter =((otherTableId%20eq%20' dkdkdkdkd')%20和%20(updatedAt%20ge%20datetimeoffset' 1970-01-01T00%3A00%3A00 0.0000000%2B00%3A00&#39))及$的OrderBy = updatedAt&安培; $跳过= 0&安培; $顶部= 50&安培; __ includeDeleted =真