ADO.NET Entity Framework データ プロバイダー
 
このページをシェアする                  
ADO.NET Entity Framework データ プロバイダー
ADO.NET Entity Framework は、.NET Framework 用のオブジェクト リレーショナル マッピング(ORM)フレームワークです。このフレームワークを使用すると、開発者はリレーショナル ストレージ スキーマに対して直接プログラミングする代わりに、概念アプリケーション モデルに対してプログラミングすることで、データ アクセス アプリケーションを作成できます。このモデルによって、データ指向アプリケーションに必要なコードの量と保守作業の量を減らすことができます。
Pervasive PSQL ADO.NET Entity Framework データ プロバイダー(ADO.NET Entity Framework データ プロバイダー)は、ADO.NET Entity Framework を使用するアプリケーションで使用できます。
ADO.NET Entity Framework データ プロバイダーは、以下のバージョンの Microsoft ADO.NET Entity Framework をサポートします。
.NET Framework 3.5 SP1
.NET Framework 4.0。Entity Framework 1.0 の機能をサポートします。
Pervasive Entity Framework データ プロバイダーは、以下のプログラミング機能をサポートします。
.NET Framework 3.5 SP1 を対象とするアプリケーション
.NET Framework 4.0 を対象とするアプリケーション
Database First
"従来の" CLR オブジェクト(POCO)エントリ
DbContext
ADO.NET Entity Framework データ プロバイダーは、ADO.NET データ プロバイダーを使用して ADO.NET データベース サーバーと通信します。つまり、ADO.NET データ プロバイダーによって定義された機能は、この章で特に断りがない限り、ADO.NET Entity Framework データ プロバイダーに適用されるということです。同様に、ADO.NET データ プロバイダーに合わせて作られたすべてのパフォーマンス構成が、ADO.NET Entity Framework データ プロバイダーで実現されます。
ADO.NET Entity Framework のアプリケーションを開発する場合は、Visual Studio 2008 SP1 以上が必要です。
Entity Framework データ プロバイダーのファイル名は、製品に付属する README テキスト ファイルを参照してください。
ADO.NET Entity Framework データ プロバイダーについて
ADO.NET Entity Framework データ プロバイダーは 100% マネージ コードで構築されています。つまり、完全に共通言語ランタイム(CLR)の内部で、実行およびデータベースへの接続が行えます。
クライアント ライブラリや COM コンポーネントなどネイティブ オペレーティング システムで実行するコードはアンマネージ コードと言います。マネージ コードとアンマネージ コードは 1 つのアプリケーション内に混在させることができます。ただし、アンマネージ コードは共通言語ランタイムの外部にまで影響が及ぶため、現実的には複雑になり、パフォーマンスも低下します。また、セキュリティの危険にさらすことにもなりかねません。
名前空間
ADO.NET Entity Framework データ プロバイダーの名前空間は、Pervasive.Data.SqlClient.Entity です。
アセンブリ名
ADO.NET Entity Framework データ プロバイダーのアセンブリ名は、Pervasive.Data.SqlClient.Entity.dll です。基となる ADO.NET データ プロバイダーのアセンブリ名は、Pervasive.Data.SqlClient.dll です。厳密な名前のアセンブリは、インストール時にグローバル アセンブリ キャッシュ(GAC)に配置されます。
Pervasive.Data.Common アセンブリには、バルク ロードのサポートなどの機能が含まれます。
Entity Framework データ プロバイダーでの接続文字列の使用
ADO.NET Entity Framework は接続文字列に含まれている情報を使用して、基となる Entity Framework をサポートする ADO.NET データ プロバイダーに接続します。接続文字列には、必要なモデルおよびマッピング ファイルに関する情報も含まれています。
データ プロバイダーは、モデルにアクセスしたり、メタデータをマップしたり、データ ソースに接続したりする場合に接続文字列を使用します。
Entity Framework ウィザードで既存の接続を指定するか、または新しい接続を定義することができます。接続文字列オプションは、接続文字列で直接定義できますが、Visual Studio の[詳細プロパティ]ダイアログ ボックスでも設定できます(サーバー エクスプローラーでの接続の追加を参照してください)。
サーバー エクスプローラーでの接続文字列の定義
Visual Studio を使って接続を追加、変更する方法については、サーバー エクスプローラーでの接続の追加を参照してください。
サポートされる接続文字列オプションの説明については、表 26 を参照してください。
接続文字列オプションのデフォルト値の変更
ADO.NET Entity Framework データ プロバイダーで使用される接続文字列オプションのデフォルト値の多くは、Pervasive PSQL ADO.NET データ プロバイダーで使用されるデフォルト値と同じです(詳細については、表 26 を参照してください)。表 10 は、接続文字列オプションを ADO.NET Entity Framework アプリケーションで使用する場合には、違うデフォルト値になるオプションを示しています。
 
表 10 アプリケーションで使用される接続文字列オプションのデフォルト値
接続文字列オプション
ADO.NET Entity Framework アプリケーションでのデフォルト値
Parameter Mode
サポートされません。
Statement Cache Mode
ExplicitOnly 値のみサポートされます。
パフォーマンスに関する考慮点
アプリケーションのパフォーマンスは、接続文字列オプション、および、いくつかのデータ プロバイダー オブジェクトのプロパティに設定された値の影響を受けます。
パフォーマンスに影響を与える接続文字列オプション
Encrypt:データ暗号化は、データの暗号化と復号化で必要となる追加オーバーヘッド(主に CPU 使用)のため、パフォーマンスに悪影響を与えます。
Max Statement Cache Size:アプリケーションが使用する全プリペアド ステートメントをキャッシュすれば、最高のパフォーマンスを提供できるように思われます。しかし、この手法では、接続プールを使ってステートメント キャッシングを実装した場合、データベース サーバーのメモリに負担をかける結果になります。この場合、プールされた接続はそれぞれステートメント キャッシュを持ち、アプリケーションが使用する全プリペアド ステートメントを含むことになります。キャッシュされた全ステートメントは、データベース サーバーのメモリにも保持されます。
Pooling:データ プロバイダーが接続プールを使用できるようにしている場合、パフォーマンスに影響する以下の追加オプションを定義できます。
Load Balance Timeout:接続をプールに保持する時間を定義できます。プール マネージャーは、接続がプールに返されたときに接続の作成時間をチェックします。作成時間を現在の時間と比較し、時間の間隔が Load Balance Timeout オプションの値を超えていたら、接続を破棄します。Min Pool Size オプションの指定によって、一部の接続でこの値を無視させることができます。
Connection Reset:再利用される接続を初期設定に戻すと、その接続はサーバーに対して余分なコマンドを発行する必要が生じるため、パフォーマンスに悪影響を与えます。
Max Pool Size:プールに格納できる接続数の最大値の設定が低すぎると、接続が使用可能になるまでの時間が延期されます。最大値の設定が高すぎると、リソースを無駄に消費します。
Min Pool Size:接続プールは、一意な接続文字列を使って最初にデータベースへ接続したときに作成されます。最小プール サイズとは、接続プールが初期化されたときに作成される接続の数、および、プール内の一部の接続が Load Balance Timeout 値を超えたときでもプールに保持される最小限の接続の数です。
Schema Options:ある種のデータベース メタデータを返すことは、パフォーマンスに影響を与えます。アプリケーションのパフォーマンスを最適化するため、データ プロバイダーは、パフォーマンスに悪影響を与えるプロシージャ定義やビュー定義などのデータベース メタデータを返さないようにします。アプリケーションがこれらのデータベース メタデータを必要とする場合は、明確にそれを返すよう要求する必要があります。
複数の種類の除外されたメタデータを返すには、名前をカンマ区切りリストで指定するか、返したい列コレクションの 16 進値の合計を指定します。たとえば、プロシージャ定義とビュー定義を返すには以下のいずれかを指定します。
Schema Option=ShowProcedureDefinitions, ShowViewDefinitions
Schema Options=0x60
パフォーマンスに影響を与えるプロパティ
StatementCacheBehavior:アプリケーションがその存続期間中にプリペアド ステートメントを複数回再使用する場合、ステートメント キャッシュを使用することによってパフォーマンスに影響を及ぼすことができます。このプロパティは、プリペアド ステートメント(Command オブジェクトのインスタンス)がステートメント キャッシング中にどのように処理されるかを決定します。
Cache に設定すると、プリペアド ステートメントはステートメント キャッシュに含められます。
Implicit に設定して Statement Cache Mode 接続文字列オプションに Auto を設定すると、プリペアド ステートメントはステートメント キャッシュに含められます。
DoNotCache に設定すると、プリペアド ステートメントはステートメント キャッシュから除外されます。
特定のステートメントをキャッシングすることによるパフォーマンスへの影響を判断するには、接続統計情報を使用できます(接続統計情報によるパフォーマンスの分析を参照してください)。
ADO.NET Entity Framework の使用
ADO.NET Entity Framework を使用すると、開発者はリレーショナル ストレージ スキーマに対して直接プログラミングする代わりに、概念アプリケーション モデルに対してプログラミングすることで、データ アクセス アプリケーションを作成できます。
Pervasive データ型から単純型へのマッピング
11 では、次のように列が定義されています。
[Pervasive データベース データ型]列は、ネイティブなデータ型の名前を示しています。
[SSDL データ型]列は、ストア スキーマ定義言語(SSDL)ファイルで使用されるデータ型を示しています。ストレージ メタデータ スキーマは、EDM で構築されたアプリケーションのデータを保持する、データベースの形式的記述です。
[EDM 単純型]列は、DataReader の使用時に、この型の列へのアクセスに使用する必要があるメソッドを示します。
 
表 11 Pervasive データ型から EDM 単純型へのマッピング
Pervasive データベース データ型
SSDL データ型
EDM 単純型
BFLOAT4
bfloat4
Single
BFLOAT8
bfloat8
Double
BIGINT
bigint
Int64
BINARY
binary
Binary
BIT
bit
Boolean
CHAR
char
String
CURRENCY
currency
Decimal
DATE
Date
DateTime
DATETIME
DateTime
DateTime
DECIMAL
decimal
Decimal
DOUBLE
double
Double
FLOAT
float
Single
IDENTITY
identity
Int32
INTEGER
integer
Int32
LONGVARBINARY
longvarbinary
Binary
LONGVARCHAR
longvarchar
String
MONEY
money
Decimal
NUMERIC
numeric
Decimal
NUMERICSA
decimalsa
Decimal
NUMERICSTS
decimalsts
Decimal
REAL
real
Single
TIME
time
Time
TIMESTAMP
timestamp
Datetime
TINYINT
tinyint
Byte
UBIGINT
ubigint
Decimal
UNIQUEIDENTIFIER
guid
Guid
UINTEGER
uinteger
Int64
USMALLINT
usmallint
Int32
UTINYINT
UTINYINT
Int16
VARCHAR
varchar
String
12 は、EDM 単純型から Pervasive データ型へのマッピングを示しています。列は次のように定義されています。
[EDM 単純型]列は、DataReader の使用時に、この型の列へのアクセスに使用する必要があるメソッドを示します。
[SSDL データ型]列は、ストア スキーマ定義言語(SSDL)ファイルで使用されるデータ型を示しています。ストレージ メタデータ スキーマは、EDM で構築されたアプリケーションのデータを保持する、データベースの形式的記述です。
[Pervasive データベース データ型]列は、ネイティブなデータ型の名前を示しています。
 
表 12 EDM 単純型から Pervasive データ型へのマッピング
EDM 単純型
SSDL データ型
Pervasive データベース データ型
Binary
binary
BINARY
Binary
longvarbinary
LONGVARBINARY
Boolean
bit
BIT
Byte
tinyint
TINYINT
Datetime
timestamp
TIMESTAMP
DateTime
date
DATE
DateTime
datetime
DATETIME
Decimal
currency
CURRENCY
Decimal
decimal
DECIMAL
Decimal
money
MONEY
Decimal
numeric
NUMERIC
Decimal
numericsa
NUMERICSA
Decimal
numericsts
NUMERICSTS
Decimal
ubigint
UBIGINT
Double
bfloat8
BFLOAT8
Double
double
DOUBLE
Guid
guid
UNIQUEIDENTIFIER
Int16
utinyint
UTINYINT
Int32
identity
IDENTITY
Int32
integer
INTEGER
Int32
usmallint
USMALLINT
Int64
bigint
BIGINT
Int64
uinteger
UINTEGER
Single
bfloat4
BFLOAT4
Single
float
FLOAT
Single
real
REAL
String
char
CHAR
String
longvarchar
LONGVARCHAR
String
varchar
VARCHAR
Time
time
TIME
EDM 正規関数から Pervasive 関数へのマッピング
ADO.NET Entity Framework は、エンティティ データ モデル(EDM)正規関数を Pervasive PSQL 用 ADO.NET Entity Framework データ プロバイダーの対応するデータ ソース機能に変換します。これによって、全データ ソースに共通する形式で表現される関数を呼び出すことができます。
これらの正規関数はデータ ソースから独立しているため、正規関数の引数の型と戻り値の型は、EDM の型の語句で定義されます。Entity SQL クエリで正規関数を使用すると、データ ソースで適切な関数が呼び出されます。
すべての正規関数には、ヌルが入力された場合の動作とエラー状況が明示的に指定されています。ただし、ADO.NET Entity Framework はこの動作を実行しません。詳細は、http://msdn.microsoft.com/ja-jp/library/bb738626.aspx で入手できます。
集計正規関数
13 は、EDM 集計正規関数から Pervasive 関数へのマッピングを示します。
表 13 集計正規関数のマッピング
集計正規関数
Pervasive 関数
Avg(expression)
avg(expression)
BigCount(expression)
count(expression)
Count(expression)
count(expression)
Max(expression)
max(expression)
Min(expression)
min(expression)
StDev(expression)
stdev(expression)
Sum(expression)
sum(expression)
数学正規関数
14 は、EDM 数学正規関数から Pervasive PSQL 関数へのマッピングを示します。ただし、処理する列が decimal 値または integer 値のみを含んでいる場合に使用される関数を対象としています。
詳細については、数値関数を参照してください。
表 14 数学正規関数のマッピング
数学正規関数
Pervasive 関数
Abs(value)
abs(value)
Ceiling(value)
ceiling(value)
Floor(value)
floor(value)
Round(value)
round(numeric_expression1, integer_expression2)
日付と時刻の正規関数
15 は、EDM の日付と時刻の正規関数から Pervasive 関数へのマッピングを示します。これらの関数は、DATE や TIME などのデータ型から成るデータの生成、処理、および操作を行います。
表 15 日付と時刻の正規関数のマッピング
日付と時刻の正規関数
Pervasive 関数
Year(expression)
extract(YEAR from expression)
Month(expression)
extract(MONTH from expression)
Day(expression)
extract(DAY from expression)
Hour(expression)
extract(HOUR from expression)
Minute(expression)
extract(MINUTE from expression)
Second(expression)
extract(SECOND from expression)
Millisecond(expression)
サポートされていません
GetTotalOffsetMinutes(DateTime Offset)
サポートされていません
CurrentDateTime
current_date
CurrentDateTimeOffset
datepart(tz_offset(SESSIONTIMEZONE) + current_date
CurrentUtcDateTime
sys_extract_utc
ビット単位の正規関数
16 は、EDM ビット単位の正規関数から Pervasive PSQL 関数へのマッピングを示します。
表 16 ビット単位の正規関数のマッピング
ビット単位の正規関数
Pervasive 関数
BitWiseAnd(value1, value2)
bit_and(value1, value2)
BitWiseNot(value)
bit_compliment
BitWiseOr(value1, value2)
bit_or
BitWiseXor(value1, value2)
bit_xor
文字列正規関数
17 は、EDM 文字列正規関数から Pervasive PSQL 関数へのマッピングを示します。
表 17 文字列正規関数のマッピング
文字列正規関数
Pervasive PSQL 関数
Concat(string1, string2)
concat(string1, string2)
IndexOf(target, string2)
instr(target, string2)
Left(string1, length)
left(string1, length)
Length(string)
length(string)
LTrim(string)
ltrim(string)
Trim(string)
trim(BOTH FROM string)
Replace(string1, string2, string3)
replace(string1, string2, string3)
Reverse(string)
reverse(string)
RTrim(string)
rtrim(string)
Substring(string, start, length)
INCOMPLETE regexpr_substr(...)
ToLower(string)
lower(string)
ToUpper(string)
upper(string)
Entity Framework 機能の拡張
ADO.NET Entity Framework は、多くの ADO.NET 機能をマスクし、アプリケーション開発を簡略化することによって、強力な生産性の向上を提供します。Pervasive PSQL ADO.NET データ プロバイダーには、パフォーマンスを最適化するように設計された機能が備わっています。
Microsoft Enterprise Library 4.1(October 2008)の標準の Logging Application Block(LAB)および関連する設計パターンを使用するアプリケーションは、ADO.NET Entity Framework データ プロバイダーの一部として生成された SQL をすばやく表示することができます。
詳細については、Logging Application Block を参照してください。
Entity Framework のパフォーマンスの向上
Entity Framework は強力な生産性の向上を提供しますが、一部の開発者は、アプリケーションでのパフォーマンスの最適化を必要とする機能について、Entity Framework が制御をしすぎると考えています。
ADO.NET には、確立した比較的単純な一連のメソッドが備わっており、それらを使用して、接続統計情報や再認証などの機能の有効化および管理が行えます。ADO.NET Entity Framework データ プロバイダーにはさらに拡張機能が含まれており、それらを使用して、接続に関する統計カウンターの有効化、取得、およびリセットが行えます。開発者は、これらの拡張機能を使用すると、最終的にアプリケーションの実行時のパフォーマンスを向上させることができます。
Entity Framework にも類似した一連のメソッドが含まれていますが、これらは、LINQ、EntitySQL、および ObjectServices などの新しい Entity Framework コンシューマーで利用できるように適応させてあります。
この機能は、.edmx ファイルの使用で示されている XML ファイルでモデル化されます。PsqlConnectionStatistics エンティティおよび PsqlStatus エンティティを公開することにより、標準ツールを使って、このコードをすばやくモデル化することができます。
接続統計情報の取得
まず、エンティティ コンテナーの PsqlConnectionContext を確立します。これには 2 つのエンティティ セット、PsqlConnectionStatistics および PsqlStatus が含まれています。各エンティティと対話するには、結果を取得するための関数を含めます。
次の C# コードでは、ObjectConnect を使用してこれらの統計情報へアクセスする方法を示しています。
DTekConnectionContext objCtx = new PsqlConnectionContext();
PsqlStatus status = objCtx.DisableStatistics().First();
MessageBox.Show("StatisticsEnabled = " + status.StatisticsEnabled);
status = objCtx.EnableStatistics().First();
MessageBox.Show("StatisticsEnabled = " + status.StatisticsEnabled);
PsqlConnectionStatistics statistics = objCtx.RetrieveStatistics().First();
MessageBox.Show("BytesReceived/Sent: " + statistics.BytesReceived + "/" + statistics.BytesSent);
PsqlConnectionContext は app.config ファイルで宣言されています。
<add name="PsqlConnectionContext"
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=Pervasive.Data.SqlClient;provider connection string=&quot;Host=nc-lnx02;Password=login4;Pooling=False;SID=CP31;User ID=login4;Reauthentication Enabled=true&quot;" providerName="System.Data.EntityClient" />
接続統計情報に対するデータ プロバイダーのサポートについては、接続統計情報の取得を参照してください。
XML スキーマ ファイルのサイズの制限
エンティティ データ モデル(EDM)を使って大きなモデルを構築すると、非常に効率が悪くなる可能性があります。最適な結果を得るために、モデルのエンティティが 50 から 100 に達している場合は、モデルを分割することを考慮してください。
XML スキーマ ファイルのサイズは、モデルを生成する基となったデータベースのテーブル、ビュー、またはストアド プロシージャの数にある程度比例します。スキーマ ファイルのサイズが大きくなるにつれ、メタデータの In-Memory モデルの作成や解析にかかる時間が増えます。これは、ObjectContext インスタンスごとに負担する、1 回限りのパフォーマンス コストです。
このメタデータは EntityConnection 文字列に基づいて、アプリケーション ドメインごとにキャッシュされます。つまり、1 つのアプリケーション ドメインの複数の ObjectContext インスタンスで同じ EntityConnection 文字列を使用している場合、アプリケーションがメタデータの読み込みに関してコストを負担するのは 1 回だけということです。しかし、モデルのサイズが大きくなる場合や、アプリケーションが長期にわたるものでない場合には、パフォーマンス コストが重要になる可能性があります。
ADO.NET Entity Framework でのストアド プロシージャの使用
ADO.NET Entity Framework でストアド プロシージャを使用するには、関数のマッピングが必要です。このようなストアド プロシージャの呼び出しは複雑で、いくらかのコーディングを必要とします。
機能の提供
Connection オブジェクトには、拡張された統計情報機能を提供するためのプロパティおよびメソッドが含まれています。これらは、ADO.NET データ プロバイダーでは標準ですが、ADO.NET Entity Framework レイヤーでは利用できません。代わりに、「疑似」ストアド プロシージャを介して同様の機能を公開します。
この方法では、エンティティ データ モデル(EDM)を使用して、ADO.NET の結果に対応する結果を得ます。これは実質的に、疑似ストアド プロシージャから戻されるエンティティおよび関数を提供します。
18 は、データ プロバイダーの Connection プロパティから対応する疑似ストアド プロシージャへのマッピングを示します。
表 18 疑似ストアド プロシージャへのマッピング
Connection プロパティ
疑似ストアド プロシージャ
StatisticsEnabled
Psql_Connection_EnableStatistics
Psql_Connection_DisableStatistics
Connection メソッド
疑似ストアド プロシージャ
ResetStatistics
Psql_Connection_ResetStatistics
RetrieveStatistics
Psql_Connection_RetrieveStatistics
次の C# コードで示されているように、アプリケーションは ObjectContext を使用してストアド プロシージャ コマンドを作成する必要があります。
using (MyContext context = new MyContext())
{
EntityConnection entityConnection =
(EntityConnection)context.Connection;
// EntityConnection は基となるストア接続を公開します
DbConnection storeConnection =
entityConnection.StoreConnection;
DbCommand command = storeConnection.CreateCommand();
command.CommandText =
"Psql_Connection_EnableStatistics";
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new PsqlParameter("cid", 1));
}
 
//
 
bool openingConnection = command.Connection.State ==
ConnectionState.Closed;
if (openingConnection) { command.Connection.Open(); }
int result;
try
{
result = command.ExecuteNonQuery();
}
finally
{
if (openingConnection && command.Connection.State ==
ConnectionState.Open) { command.Connection.Close(); }
}
オーバーロードされたストアド プロシージャの使用
オーバーロードされたストアド プロシージャが複数ある場合、Pervasive PSQL Entity Framework データ プロバイダーは各ストアド プロシージャに識別子を追加して、SSDL でそれらを識別できるようにします。データ プロバイダーは、アプリケーションでストアド プロシージャを呼び出す前に、追加した識別子を削除します。
.NET オブジェクトの使用
ADO.NET Entity Framework データ プロバイダーは .NET パブリック オブジェクトをサポートし、それらをシールド オブジェクト(封印されたオブジェクト)として公開します。
詳細については、サポートされる .NET オブジェクトを参照してください。
ADO.NET Entity Framework のプログラミング コンテキストでは、本質的に一部の ADO.NET メソッドおよびプロパティを使用する必要がなくなります。しかし、これらのプロパティおよびメソッドは、標準の ADO.NET アプリケーションでは有用なままです。Visual Studio に組み込まれているオンライン ヘルプで、各クラスのパブリック メソッドおよびパブリック プロパティについて説明されています。
19 は、ADO.NET Entity Framework アプリケーションでデータ プロバイダーを使用する場合には不要となる、あるいは実装が異なるプロパティおよびメソッドを示しています。
表 19 ADO.NET Entity データ プロバイダーとの、プロパティおよびメソッドの相違点
プロパティまたはメソッド
動作
PsqlCommand
AddRowID
サポートされません。ADO.NET Entity Framework は、返される追加データを処理しません。
ArrayBindCount
サポートされません。アプリケーションは、ADO.NET Entity Framework 上でこのバインド数に影響を与えることができません。
ArrayBindStatus
サポートされません。アプリケーションは、ADO.NET Entity Framework 上でこのバインド数に影響を与えることができません。
BindByName
サポートされません。代わりに、データ プロバイダーは ADO.NET Entity Framework プログラミング コンテキストを使用します。
CommandTImeout
サポートされません。代わりに、データ プロバイダーは ADO.NET Entity Framework プログラミング コンテキストを使用します。
UpdatedRowSource
サポートされません。代わりに、データ プロバイダーは ADO.NET Entity Framework プログラミング コンテキストを使用します。
PsqlCommandBuilder
DeriveParameters
サポートされません。代わりに、データ プロバイダーは ADO.NET Entity Framework プログラミング コンテキストを使用します。
PsqlConnection
ConnectionTimeout
接続文字列でのみサポートされます。
StatisticsEnabled
StatisticsEnabled または StatisticsDisabled ストアド プロシージャを使用します。ADO.NET Entity Framework アプリケーションでこの関数を使用する方法については、ADO.NET Entity Framework でのストアド プロシージャの使用を参照してください。
DataAdapter
UpdateBatchSize
サポートされません。代わりに、データ プロバイダーは ADO.NET Entity Framework プログラミング コンテキストを使用します。
Error
ErrorPosition
サポートされません。代わりに、データ プロバイダーは ADO.NET Entity Framework プログラミング コンテキストを使用します。
SQLState
サポートされません。代わりに、データ プロバイダーは ADO.NET Entity Framework プログラミング コンテキストを使用します。
モデルの作成
Entity Framework は、Visual Studio でデータのモデルを作成します。
メモ: ADO.NET Entity Framework を使って開発するには、Pervasive PSQL バージョン 3.5 ADO.NET Entity Framework データ プロバイダーと一緒に、Microsoft .NET Framework バージョン 3.5 SP1 または 4.0 と、Visual Studio 2008 SP1 以上を使用する必要があります。
以下の手順は、既にデータベース スキーマが利用可能になっていることを前提とします。
1 Visual Studio で、Windows コンソール、Windows フォーム、または ASP.NET などの新しいアプリケーションを作成します。
2 ソリューション エクスプローラーでプロジェクトを右クリックし、[追加新しい項目]をクリックします。
3 ADO.NET Entity Data Model]を選択したら、[追加]をクリックします。
[新しい項目の追加]ウィンドウ。ADO.NET エンティティ データ モデルが選択されています。
4 Entity Data Model ウィザードが表示されます。[データベースから生成]を選択し、[次へ]をクリックします。
Entity Data Model ウィザードの、[モデルのコンテンツの選択]ウィンドウ
5 新しい接続]をクリックして、新しい接続を作成します。既存の接続がある場合は、この手順でその接続を選択することができます。
a. [データ ソースの選択]ウィンドウで、データ ソース リストから "その他" を選択し、次にデータ プロバイダーのドロップダウン リストから "ADO.NET Pervasive PSQL Provider" を選択します。
b. 続行]をクリックします。
c. [接続のプロパティ]ウィンドウが表示されます。必要な接続情報を指定して、[OK]をクリックします。
6 ウィザードが Entity 接続文字列を作成します。
a. ラジオ ボタンが選択可能であれば、[はい、重要情報を接続文字列に含めます]を選択して、接続文字列に重要情報を含めるようにします。
b. エンティティ接続設定に名前を付けて ... に保存]フィールドで、メインのデータ アクセス クラスの名前を入力するか、もしくはデフォルトの名前を受け入れます。
c. 次へ]をクリックします。
Entity Data Model ウィザードの、[データ接続の選択]画面
7 モデルで使用するデータベース オブジェクトを選択します。
Entity Data Model ウィザードの、[データベース オブジェクトの選択]ウィンドウ
8 完了]をクリックします。モデルが生成され、モデル ブラウザーで開かれます。
Model of the selected objects shown in the Model Browser
 
詳細
ADO.NET および Entity Framework の追加情報については、以下を参照してください。
"Programming Entity Framework" by Julie Lerman は、ADO.NET Entity Framework の使い方の網羅的な議論を提供しています。
ADO.NET Entity Framework では、Entity Framework を紹介するほか、多くの詳細にわたる項目へのリンクを提供しています。
接続文字列(Entity Framework)では、Entity Framework による接続文字列の使い方について説明します。接続文字列には、基となる ADO.NET データ プロバイダーへの接続に使用する情報が含まれているほか、必要なエンティティ データ モデルのマッピングおよびメタデータに関する情報も含まれています。
Entity Data Model ツールでは、EDM を使用してアプリケーションを視覚的に構築するためのツールについて説明します。個別のツールとして、Entity Data Model ウィザード、ADO.NET Entity Data Model デザイナー(エンティティ デザイナー)、およびモデルの更新ウィザードがあります。これらのツールは共同して、エンティティ データ モデルを生成、編集、および更新することができます。
LINQ to Entities を使用すると、開発者はビジネス ロジックの構築に使用された言語と同じ言語のデータベースに対するクエリを作成できるようになります。