2012-08-17 58 views
0

我正在使用SQL Dapper進行檢索,NHibernate用於CRUD的ASP.NET MVC應用程序。我正面臨着層分離的一些問題。使用SQL Dapper和NHibernate進行ASP.NET MVC圖層分隔

我有存儲庫說UserRepository其中有公共用戶GetUsersList()方法。這裏的「用戶」是一個NHibernate實體。這裏的問題是我需要在用戶界面中顯示一個不存在的屬性,如'HasAltContacts',我直接從SQL查詢中獲取該屬性。

現在,我的問題是我需要創建單獨的DTO,並離開這些NHibernate實體並圍繞這些類構建存儲庫(至少讀取方法)?

回答

0

這裏「用戶」是NHibernate實體。這裏的問題是我需要 在用戶界面中顯示一個不存在的屬性,如我直接從SQL查詢接收的 'HasAltContacts'。

定義將包含視圖所需的所有屬性的視圖模型。然後讓您的控制器操作通過查詢您擁有的各種數據源來填充此視圖模型,並將此視圖模型傳遞給視圖。

+0

感謝您的回覆。這引起了我的困惑,'HasAltContacts'不是我可以從db中單獨獲取或計算出來的字段,可以在ViewModel中使用。它是查詢的一部分,我正在執行匹配DAL層中「用戶」實體屬性的字段。需要有一些屬性(目前不是用戶實體的一部分)一直運行到MVC應用程序。我關心的是,我們是否定義了另一個具有這些DTO對象的圖層,以傳遞給MVC應用程序? – Sunny 2012-08-17 14:29:21