2010-10-08 64 views
1

我有一個ASP.NET MVC 2項目。我已經解耦了圖層。我有一個服務層和一個存儲庫層。 控制器調用服務方法,只有服務層調用存儲庫中的方法。關於結構的問題

問題是: 我的存儲庫類中的方法使用LINQ連接。從這個方法,我想返回一個類型合併來自聯合表的一些數據。 (即名稱= a.Name,位置= b.Position)我總是返回我的資源庫類中的IEnumerables。所以在這種情況下,似乎我需要爲(Name,Position)定義一個新類型,並從存儲庫函數返回該類型。但是,那麼,我必須將該類重新映射到其他ViewModel類。 (因爲我在分離關注點,我不應該在版本庫中使用viewmodel類?)這導致了許多不同的類。 EF類,連接表的類和視圖模型類。

我在正確的道路上嗎?

請賜教。

謝謝

回答

0

請考慮在存儲庫層定義這些類。基本上他們是DTO課程,聽起來像你在我已經採取的軌道上。

爲什麼您期望將該類重新映射到某個其他ViewModel類?

public class EmpPosition() 
{ 
    public property Name{get;set;} 
    public property Position{get;set;} 
} 

//Repo 
public IEnumerable<EmpPosition> GetEmployeePositions() 
{}