Data Provider for .NET Guide (v11)

Code First および Model First のサポート

Entity Framework 4.1 以降のプロバイダーは、Model First および Code First の機能をサポートしています。これらの機能のサポートを実装すると、たとえば、長い識別子名の処理方法など、データ プロバイダーへの変更が必要とされます。ただし、これらの変更はアプリケーションの変更を必要としません。

Code First および Model First の実装は、型マッピングの変更を必要とします。詳細については、データ型および関数のマッピングを参照してください。

長い識別子名の処理

ほとんどの Pervasive PSQL 識別子の最大長は 20 バイトです。サーバー上で作成するオブジェクトの名前はクラス名とプロパティ名から取られるため、識別子名がこのサイズを超える場合があります。また、制約名は多くの場合、いくつかのオブジェクト名を連結して作成されます。このような場合には、識別子の最大長を超える可能性がさらに大きくなります。

データ プロバイダーは、識別子の末尾を整数のハッシュ コードに置き換えることにより、識別子を 20 バイトに短縮します。たとえば、文字列 ColumnMoreThanTwentyCharactersColumnMor_2873286151 に短縮されます。DB ツールを使用して DB オブジェクトのアクセスや表示を行った場合、作成されたテーブルの名前が、POCO(Plain Old CLR Object)のクラス名とプロパティ名(Code First)、またはエンティティ名とエンティティのプロパティ名(Model First)に基づいて予想される名前とは異なる場合があります。

同じ先頭文字を持つ 2 つの識別子が短縮されると、識別子間の違いが目で見てわかりづらくなることに注意してください。たとえば、テーブルに 2 つのサポートするシーケンス、ColumnMoreThanTwentyCharactersColumnMoreThanTwenty1Characters があるとします。これらのシーケンスが短縮された場合、それぞれ ColumnMor_2873286151ColumnMor_672399971 に名前が変更されます。


Entity Framework データ プロバイダーでの接続文字列の使用

ADO.NET Entity Framework での Code First Migrations の使用