以下は私のコードです。確認してください。
1. bool isUnavailable = db.Deploys.Where(p =>
p.HostEnvironmentId == Guid.Parse(host.ID) &&
p.Status == (int)DeployStatus.Deploying).AsEnumerable().Any();
これは動作します。
次のステートメントは機能しません。
2. bool isUnavailable = db.Deploys.Where(p =>
p.HostEnvironmentId == Guid.Parse(host.ID) &&
p.Status == (int)DeployStatus.Deploying).Any();//Error
例外は
An exception of type 'System.NotSupportedException' occurred in
Microsoft.Data.Services.Client.DLL but was not handled in user code
Additional information: The method 'Any' is not supported.
3. bool isUnavailable = db.Deploys.Where(p =>
p.HostEnvironmentId.ToString() == host.ID &&
p.Status == (int)DeployStatus.Deploying).AsEnumerable().Any();//Error
例外は
An exception of type 'System.NotSupportedException' occurred in
Microsoft.Data.Services.Client.DLL but was not handled in user code
Additional information: The expression (([10007].HostEnvironmentId.ToString() ==
"b7db845b-cec4-49af-8f4b-b419a4e44331") And ([10007].Status == 90)) is not supported.
Deploys
クラスは、WCFデータサービスのクライアントプロキシクラスに組み込まれているモデルです。「サービス参照の追加」を使用して、WCFクライアントプロキシクラスを作成していました。
しかし、ジェネリックリストに関しては、以下のコードを想定しています。正常に動作します。
4.bool b=servers.Where(d =>
d.status == (int)Enums.ServerStatus.Deploying ||
d.status == int)Enums.ServerStatus.Unavailable).Any();
私の質問は
異なるクラスで同じ方法を使用すると、異なる結果が得られるのはなぜですか(方法2と方法4を参照)。
2と3が機能しない理由。
誰かが私を助けてくれることを願っています。ありがとう