2016-04-17 13 views
1

.NET Framework 4.5とEntity Framework 6.1.3のWPFデスクトップアプリケーションを、データベースアプローチからのコードで開発しています。Citext Entity Frameworkのデータ型6.1.3

データベースはPostgreSQLであり、データプロバイダはEntityFramework6.Npgsqlバージョン3.0.5です。

私のデータベースには、電子メールなどのcitextデータ型を持つ複数の列が含まれています。これらの列は一意で、大文字と小文字を区別しません。 問題は、ビジュアルスタジオ2015でデータモデルを追加しようとしたときです。この警告が表示されます。

エラー6005:データ型 'citext'は現在、対象のEntity Frameworkバージョンではサポートされていません。

このリンクの後に、エラーが多すぎると、citextデータ型がバージョン3.0.1で実装されました。

https://github.com/npgsql/npgsql/issues/695

答えて

1

NpgsqlのがADO.NET層ではなく、Entity Frameworkの6層にCitexデータ型をサポートしていることが表示されます。

私は2つの解決策に終わった。

1 - citexの列をテキストに変更し、データベース内の大文字と小文字を区別しない列に対して一意の下位インデックスを使用し、アプリケーションの大文字と小文字を区別しないすべてのクエリを無視します。

2-citext型をデータベースに保持し、以前の自動生成モデルを使用し、 はEntity Frameworkをトリックします(citextプロパティで文字列を使用します)。

Npgsql開発チームの詳細については、このリンクを参照してください。 https://github.com/npgsql/npgsql/issues/1029

関連する問題