DbContext
を使用して製品を追加および挿入するプロダクトロジッククラスがあります。StructureMap - EF別のクラスからの変数で初期化
また、ProductImporter
クラスのファイルから製品のリストをループし、Product
クラスのaddProduct
を呼び出します。トランザクションでこれが行われ、すべての製品が追加されるか、またはすべてが追加されます。擬似は以下にあります。
製品クラスには2つのコンストラクタがあります。 dbcontextを取り込む最初のものと、新しいdbcontextを初期化するものです。私はトランザクションを有効にするためにProductImporter
からDbContext
を渡す最初のコンストラクタを使用します。
var dbContext...
ImportProducts() {
Product p = new Product(dbContext);
dbContext.BeginTransaction
While(moreProducts)
p.addProduct();
End transaction
}
私の質問は:アプリが一つの製品を追加する必要があるときに、製品クラスの新しいインスタンスを注入
:どのように私は2例を満たすために、構造マップを使用することができます。
上記の
ImportProducts
メソッドのProduct
クラスに同じDbContext
を使用するように注入します。効果的には、下の行を構造マップにプロダクトクラスを挿入し、DbContext
をProductImporter
クラスと同じにするように置き換えます。Product p = new Product(dbContext);
感謝。