2012-07-13 23 views
0

使用Ninject我有存儲庫的構造,它看起來像綁定中的ObjectContext InSingletonScope或不

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

我用Ninject在我的MVC應用程序綁定的ObjectContext這樣

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

我不知道在這種情況下爲InSingletonScope。我應該使用它嗎?

回答

0

幾乎肯定不是,你想要確保每個存儲庫都是獨立的,例如調用savechanges就不會從另一個存儲庫提交事物。

我還建議使用DbContext而不是ObjectContext。

+0

你能解釋一下最後的建議嗎?爲什麼DbContext而不是ObjectContext? – Tomas 2012-07-13 09:36:48

+0

自EF 4.1以來,DbContext是新的上下文包裝器它整理和簡化訪問請參閱http://blogs.msdn.com/b/efdesign/archive/2010/06/21/productivity-improvements-for-the-entity-framework。 aspx和http://blogs.msdn.com/b/adonet/archive/2010/12/06/ef-feature-ctp5-model-amp-database-first-with-dbcontext.aspx – 2012-07-13 10:07:06

相關問題