2016-09-13 27 views
1

EF経由でアクセスしているDB2データベースがあります。私たちはデータベースに接続することができ、&の書き込み操作をこれの一部として読み取ることができます。IBM DB2を使用したEntity Framework

は今計画はDBを初期化することである

Database.SetInitializer(new CreateDatabaseIfNotExists<CustomContext>()) 

を使用してこれは

HRESULT = -2146232032
メッセージ= CreateDatabaseは、プロバイダによってサポートされていないというエラーが出てスローされます。
ソース= EntityFrameworkのInnerException:
は System.Data.Entity.Core.ProviderIncompatibleException

以前我々は

Database.SetInitializer(new NullDatabaseInitializer<CustomContext>()); 

と接続し、これが正常に動作しました。

問題は、EF内から新しいDB2データベースを作成しようとした人がいますか?

+0

ここでより多くの情報を見つけることができます
https://www.nuget.org/packages/System.Data.DB2.EntityFramework.Migrations/
本当に必要な場合は、おそらく移行サービスはEFプロバイダの中で最もシンプルな部分なので、作成することができます。 https://sqliteef6migrations.codeplex.com/から起動してクエリを修正することができます。 – bubi

答えて

1

あなたはできません。これはプロバイダの既知の制限です。

一般的な制限:

のみデータベース-最初のシナリオがサポートされています:あなたが最初のデータベースに存在している必要がありますエンティティフレームワークで参照 ことをすべてのデータベース・オブジェクト。

ストア固有の関数の呼び出しはサポートされていません。

サーバーエクスプローラで設定した信頼済みコンテキスト接続プロパティ 接続ダイアログは、Entity Framework接続に渡されません。

あなたはここでそれを読むことができます:Limitations to Microsoft Entity Framework support

+1

残念ながら、私のクロムブラウザからページが完全に読み込まれていなかったので、最初にチェックしました。 – MKM

+0

Aha ...:Dあなたは大歓迎です! – Sampath

0

の移行は、IBM EFプロバイダの実装によってサポートされていません。

あなたがDB2の移行をサポートする必要がある場合にのみ移行を実現し、このパッケージを使用することができます(あなたがIBM DB2 EFプロバイダに加えて、それを使用することができます)あなたは
https://db2ef6migrations.codeplex.com/

関連する問題