0
我盡我所能實現了一種將數據存儲到datacontext的UnitOfWork。沒有太多的解釋,我希望能夠在同一使用中執行兩個查詢。幫助改進UnitOfWork-Interface
藉此,
using (IDataUnitOfWork uow = new Data.SomeContext.Core())
{
CustomerRepo repo = new CustomerRepo(uow);
Data.Entities.Customer c = repo.GetCustomerById(191);
...
c.name = c.name.Replace("_", "");
//c.name = c.name + "_";
//uow.Save();
}
這我覺得是完成任務非常明確和strightforward方式。但是,現在我還有另外一個環境。在某些情況下,這個任務也必須在第二個上下文中執行。
using (IDataUnitOfWork uow = new Provider.TheProviderContext())
{
CustomerRepo repo = new CustomerRepo(uow);
Data.Entities.Customer c = repo.GetCustomerById(191);
...
c.name = c.name.Replace("_", "");
//c.name = c.name + "_";
//uow.Save();
}
這方面並非基於相同的技術,但我覺得上面的示例將反映什麼,我嘗試做(和需要)。在這個時刻,我只能看到這種方式來解決這個問題,,
using (IDataUnitOfWork uow = new Data.SomeContext.Core())
{
...
if (anything == true)
using (IDataUnitOfWork uow = new Provider.TheProviderContext())
{
...
}
}
它看起來像一個很好的和明確的工作方式(BCZ所有信息都已經知道第二個「用」來。如果糾正我,我「M完全錯在這裏,因爲我只有這個規劃上還沒有,但它會更好,如果我能叫
using (IDataUnitOfWork uow = new BothProviders())
..這反過來要求boths提供商就跑同時他們每個人的任務。我參與了工廠的工作,但它有點令人困惑(但)。我的技能今天終於在此結束了,可悲地說..
http://stackoverflow.com/questions/5171779/dependency-injection – k3b 2011-03-16 08:44:48
的可能的重複取決於你想達到什麼。請記住,工作單元使整個操作成爲原子。如果你想統一提供商考慮適配器模式 – Robert 2011-03-16 08:45:42
羅伯特,http://en.wikipedia.org/wiki/Adapter_pattern感謝評論。我會通讀這個(和更多)。這可能會成爲這個話題的熱門話題, – Independent 2011-03-16 09:12:40