4

整数をテキストとして含むテキスト列をInt32にキャストするクエリを作成しようとしています。クエリは次のとおりです。

SELECT VALUE t FROM MyEntities AS t WHERE CAST(t.TextColumn AS Edm.Int32) > 5

ただし、次のメッセージを含むSystem.Data.EntitySqlExceptionが発生します。

タイプ「Edm.Int32」が見つかりませんでした。必要なスキーマがロードされ、名前空間が正しくインポートされていることを確認してください。タイプ名の近く、1行目、75列目。

MSDNによると、Edm.Int32は有効なタイプである必要があります。

誰かが何が悪いのか知っていますか?

編集:

いくつかの試行錯誤の結果、次のことが機能することがわかりました。

SELECT VALUE t FROM MyEntities AS t WHERE CAST(t.TextColumn AS System.Int32) > 5

MSDNの例は間違っていますか?ここで何かが足りないような気がします...

4

1 に答える 1

5

EntityCommandを使用してクエリを実行する場合、データ型はEDM型ですが、ObjectQueryを使用してクエリを実行する場合、データ型はCLR型です。

ObjectQueryを介してコンマを実行しているようです。

于 2011-02-02T14:10:06.223 に答える