EF4.0 でデータベース ファーストのアプローチで作成されたエンティティ モデルがあります。
接続設定が別の構成メディアに保存されているため、app.config ファイルなしでモデルを使用できるようにしたいと考えています。これにより、有効な EF 接続文字列を渡して、ObjectContext クラスを直接操作する必要があります。ObjectContext をインスタンス化する方法は次のとおりです。
var ctx = new ObjectContext(entityConnectionString);
これは正しく実行され、ctx.ExecuteStoreCommand() を使用してデータベースに対して SQL コマンドを正常に実行できます。
生成されたモデルの名前は MyEntities です。これは、MyEntities.Designer.cs で確認できるように、ObjectContext から派生しています。
public partial class MyEntities : ObjectContext
ただし、ctx を MyEntities オブジェクトにキャストしようとすると、次のようになります。
MyEntities myEntities = (MyEntities)ctx;
というエラーが表示されます
'ctx' ('System.Data.Objects.ObjectContext' の実際の型を持つ) を 'MyNamespace.MyEntities' にキャストできません
MyEntities のインスタンスであるかのように ctx を使用できるようにしたいと考えています。これにより、EF で生成されたエンティティ (ctx.entity1、ctx.entity2) にアクセスできるようになります。これを行う別の方法はありますか?