次のようなフォームを持つWindowsフォームアプリケーションがあります。
- MainForm
- FirstForm
- SecondForm
- ..。
メインフォームは最初から始まり、アプリケーションが存在した後に終了します。フォームごとに1つのコンテキストを使用する場合、メインフォームの有効期間は長くありませんか?フォームごとに1つのコンテキストで発生する2番目の問題は、常に切り離されたエンティティを処理する必要があることです。
編集: 私は常に次のようなエンティティを再接続する必要があります:
_context.MyEntities.Attach(existingEntity1);
_context.MyEntities2.Attach(existingEntity2);
existingEntity1.MyEntities2.Add(existingEntity2);
_context.SaveChanges();
それは私には少し奇妙に見えます。
ライフタイム処理のベストプラクティスは何ですか?フォームごとに1つのコンテキストを使用する場合、切り離された問題をどのように解決できますか?
これで、データバインディングは次のようになります。
var myEntities = from e in _context.MyEntities
select e;
var bindingList = new BindingList<MyEntity>(myEntities.ToList());
myGridView.DataSource = bindingList;
MainForm、FirstForm、およびSecondFormには同じバインディングリストが必要ですが、異なることを行うとしましょう。バインディングリストを共有するためのベストプラクティスは何ですか?