如何通过数据服务传递长类型参数?它在没有问题的情况下通过了INT,但是有什么可以长期解决呢?我试过用字符串来开玩笑的方法,但似乎行不通。
public TransactionCartItem GetTransactionCartItemByTransactionNumber(long transactionNumber)
{
transactionNumber = (int)transactionNumber; // it works if I convert to INT (just for debugging reason I tried)
var query =
this.ClientRepositories
.Context
.CreateQuery<TransactionCartItem>("GetTransactionCartItemByTransactionNumber")
.AddQueryOption("transactionNumber", transactionNumber)
.FirstOrDefault();
return query;
}长期使用错误:
“错误的请求-查询语法中的错误”
发布于 2014-04-03 19:37:46
我认为OData需要在Url中添加L中的long (Int64)值。
试试这个让我们知道。
public TransactionCartItem GetTransactionCartItemByTransactionNumber(long transactionNumber)
{
var query =
this.ClientRepositories
.Context
.CreateQuery<TransactionCartItem>("GetTransactionCartItemByTransactionNumber")
.AddQueryOption("transactionNumber", transactionNumber + "L")
.FirstOrDefault();
return query;
}拿到文件了。Edm.Int64似乎需要一个尾随的L。http://www.odata.org/documentation/odata-version-2-0/overview/#AbstractTypeSystem
https://stackoverflow.com/questions/22846826
复制相似问题