0

次のようなコンストラクターを持つリポジトリがあります

public Repository(ObjectContext context)
{
    _context = context;
    _objectSet = _context.CreateObjectSet<T>();
}

MVC アプリで Ninject を使用して、このように ObjectContext をバインドします

var connectionString = ConfigurationManager.ConnectionStrings["Entities"].ConnectionString;    
kernel.Bind(typeof(ObjectContext)).ToMethod(context => new Entities(connectionString)).InSingletonScope();

InSingletonScopeこの場合についてはよくわかりません。使用する必要がありますか?

4

1 に答える 1

0

ほぼ間違いなく、各リポジトリが分離されていることを確認する必要があります。たとえば、あるリポジトリでsavechangesを呼び出しても、別のリポジトリからのものがコミットされないようにする必要があります。

ObjectContextの代わりにDbContextを使用することもお勧めします。

于 2012-07-13T09:29:06.280 に答える