次のようにオブジェクト コンテキストを設定します。
public MyObjectContext(....) : this(contextName, new EntityConnection(connectionString))
接続文字列は、Oracle データベースへの接続文字列です。私はDevArtをプロバイダーとして使用しています。
すべて正常に動作します。エンティティなどを取得するために使用できます。
でも、根底にあるつながりで何かをしたかったのです。私は次のようなことをしました:
(OracleConnection)((EntityConnection)context.Connection.StoreConnection)
これにより、次の例外が発生します。
SystemInvalidCastException: [A]Devart.Data.Oracle.OracleConnection cannot be converted to [B]Devart.Data.Oracle.OracleConnection. .... Type A is from C:\Windows\....\6.60.283\.... Type B is from C:\DevDirectory\...\7.2.104.0
ObjectContext が古いバージョンの DLL を使用しているようです。ただし、プロジェクトの参照を確認すると、正しいバージョン 7.2.104.0 への参照が表示されます。さらに調べたところ、クラスが存在するサブプロジェクトに参照がまったくない場合でも、ObjectContext は接続できます。
接続に使用する DLL をどのように解決しますか?