如何更新EF 4中的實體?實體框架更新?
例如:
1)使用AutoMapper以產生從服務層類別實體CategoryEditModel。
2)將EditModel傳遞給View。大!!
3)回發EditModel,使用AutoMapper獲取CategoryEditModel - > Category。
4)取出該類別並將其傳遞給服務層,該服務層將其傳遞給存儲庫,該存儲庫反過來執行ObjectSet.Attach(TEntity)。
告訴我ObjectStateManager有另一個具有相同鍵的對象嗎?
我正在使用Ninject向服務和UnitOfWork注入控制器,使用存儲庫的服務和使用UnitOfWork的存儲庫。 UnitOfWork的範圍是每個請求。
看來有什麼東西被緩存在緩存裏呢?
我是否必須在UOW上調用處置或將Ninject處理?它確實實現了IDisposable,並且在處理中處理了上下文。
您是否根據HTTP請求確定了您的上下文範圍?你是否創建了一個IDatabaseFactory實現來爲你的UoW和Repositories獲取DatabaseContext? – Paul 2011-03-09 03:49:56
@Paul - 我在映射結尾處有.InRequest。 IDatabaseFactory?我不知道那是什麼。 – Sam 2011-03-09 04:38:35
通常你會用一個方法創建一個IDatabaseFactory,MyContext Get();您的IRepository和IUnitOfWork將使用IDatabaseFactory Get方法獲取當前上下文。這個類還將實現IDisposable。看看這裏的示例實現:http://stackoverflow.com/questions/4442828/entity-framework-4-ctp-4-ctp-5-generic-repository-pattern-and-unit-testable/4458250#4458250 –
Paul
2011-03-09 04:54:10