MVVM Light WPFアプリケーションでEntity Framework 6を使用しています。私はこのアプリのDbContext
をMainWindow.xaml
からユーザコントロールのビューモデルに渡したいと思います。XAML経由でユーザーコントロールのVMにDBコンテキストを渡す
ユーザーコントロールのビューモデルがSearchEmployeeViewModel.cs
で、次のコンストラクタを持っています
public SearchEmployeeViewModel(MyEntities context)
{
Context = context;
// Other code...
}
MainWindow.xaml
はこれを使用してユーザーコントロールを宣言し、それは私の知る限り、私の試みに行くことができるようだ:
<usercontrol:SearchEmployeeControl>
<ObjectDataProvider ObjectType="{x:Type data:MyEntities}">
<ObjectDataProvider.ConstructorParameters>
<data:MyEntities >
</data:MyEntities>
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
</usercontrol:SearchEmployeeControl>
このアプリケーションのDbContext
は、MainViewModel.cs
コンストラクタで次のようにインスタンス化されます。
_context = new MyEntities();
このEF DbContext
を経由でSearchEmployeeViewModel.cs
コンストラクタに渡すにはどうすればよいですか?私はこれに似た何かをしようとしているが、全体のデータコンテキストオブジェクトを渡している:Where to create parametrized ViewModel?
更新:私は、ユーザーコントロールにEF DbContextに合格しようとしています。
コンストラクタ内の他のコードが初期化されたコンテキスト –
を使用していない限り、ありがとう、@ GordonAllocman。私はその答えに気付かなかった! – Alex
@GordonAllocmanの構文は何でしょうか? MainWindow.xamlでは、私はこれをユーザコントロール宣言の内部に持っています: ' '。 'Context'プロパティを何かに束縛することはできません。だから私はどのようにデータオブジェクトを渡すのですか? –
Alex