我試圖爲我的WCF服務生成請求。 我需要通過日期時間參數或Ids查詢WCF。WCF數據服務:通過多個參數請求
我指的是在最後的結果我想獲得的URL一樣 myservice.svc/MyObjects()?$濾芯的CREATEDATE GE datetime'datecomeshere」或ID EQ 3或ID EQ 45或ID EQ 112
問題是我有一個客戶端和一個日期變量的ID集合。 那麼我怎樣才能生成這種類型的請求WCF?
下面是代碼,我現在所擁有的:
var localEntityIds = DbConnection.ObjectContextConnection.GetEntitiesByDate<T>(DateToReplicate).Select(x => x.Id);
if (DateToReplicate > DateTime.MinValue)
{
expQuery =
Service.CreateQuery<T>(SetName).Where(
x => x.ReplicaInfo.CreateDate >= DateToReplicate ||
x.ReplicaInfo.ModifyDate >= DateToReplicate || localEntityIds.Where(y=>y ==x.Id).Any()) as DataServiceQuery<T>;
}
此代碼拋出異常最大協議版本應不低於3.0,不支持任何方法。 但我有3.0版
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
我也tryed解決在這種情況下,這個問題,實施這個代碼,但WCF任何回報:
var localentities = DbConnection.ObjectContextConnection.GetEntitiesByDate<T>(DateToReplicate).Select(x => x.Id);
if (DateToReplicate > DateTime.MinValue)
{
expQuery =
Service.CreateQuery<T>(SetName).Where(
x => x.ReplicaInfo.CreateDate >= DateToReplicate ||
x.ReplicaInfo.ModifyDate >= DateToReplicate) as DataServiceQuery<T>;
}
foreach (var localentity in localentities)
{
expQuery = expQuery.AddQueryOption("or", string.Format("Id eq guid'{0}'", localentity));
}