ブラウザからサービス操作を使用すると、完全に機能します。
.net クライアントからサービス操作を使用すると、エラーが発生します
「型 'System.Linq.IQueryable`1[MyEntity]' には設定可能なプロパティがありません。」
何か案が?ありがとう。
クライアントコード:
public IQueryable<MyEntity> CallMyOperation(string param1 = "", string param2 = "") {
DataServiceQuery<IQueryable<MyEntity>> q =
CreateQuery<IQueryable<MyEntity>>("MyOperation")
.AddQueryOption("param1", "'" + param1 + "'")
.AddQueryOption("param2", "'" + param2 + "'");
return
Execute<IQueryable<MyEntity>>(
new Uri(q.RequestUri.ToString().Replace("MyOperation()", "MyOperation"))).
FirstOrDefault();
}
Wcf サービス コード:
[WebGet]
public IQueryable<MyEntity> MyOperation(string param1 = "", string param2 = "") {
...
}
public static void InitializeService(DataServiceConfiguration config) {
config.DataServiceBehavior.MaxProtocolVersion =
DataServiceProtocolVersion.V3;
config.UseVerboseErrors = true;
config.SetEntitySetAccessRule("MyEntity", EntitySetRights.AllRead);
config.SetServiceOperationAccessRule("MyOperation", ServiceOperationRights.AllRead);
}