1

古い SQL Server データベース (Entity Framework 4 で作成) を SQL CE 4 に移行しようとしています。すべてを移動し、スキーマを再作成し、データをSDFファイルに挿入しましたが、サイトを起動しようとすると、次のエラーが表示されます。

The ntext and image data types cannot be used in WHERE, HAVING, GROUP BY, ON, or IN clauses, except when these data types are used with the LIKE or IS NULL predicates.

いくつかのリンクにアクセスしましたが、それらはすべて SQL CE 3.5 用の Microsoft ホットフィックスにリンクしています。SQL CE 4 を実行していますが、関連するものが見つかりませんでした。

更新:コード ファースト アプローチの可能な解決策をいくつか見つけましたが、私のデータベースはモデル ファーストです。

4

1 に答える 1

1

Entity Framework と SQL CE でこの問題に遭遇しました。イメージ列で結果をフィルター処理する動的 SQL ステートメントを生成することはできません。

私にとって、このコードは失敗していました (トークンは byte[] 型です):

var dataStore = new DataStore();
var document = dataStore.Documents.SingleOrDefault(d => d.Token == token);

私がそれを機能させる簡単な方法は、最初にドキュメントをメモリ内のリストにロードしてから、フィルタリングすることでした。リストが非常に大きくなることはないので、これは私にとっては問題ありません。

var dataStore = new DataStore();
var documents = dataStore.Documents.ToList();
var document = documents.SingleOrDefault(d => d.Token.SequenceEqual(token));
于 2013-06-19T08:53:58.833 に答える