我想弄清楚如何解決這個問題:存儲庫模式,POCO,ORM和中間實體
我有3個表與多對多的關係。
Users *-* Roles *-* Permissions
我使用ORM從它們獲取數據。
我的業務層必須返回每個權限的用戶的方法,所以我用這個類返回對象:
public class UsersPerPermission
{
public User[] {get;set;}
public Permission {get;set;}
}
但此類不映射到存儲庫中的任何表,這是我從生成現有的表格。這個階級應該在哪裏生活?
換句話說:
我應該有一個
IRepository.GetUsersPerPermission()
?然後該類應該存儲在存儲庫中。或者我應該有一個
IBusinessLayer.GetUsersPerPermission()
?然後我必須調用存儲庫中的CRUD方法?
這是有道理的把它的業務層而已,因爲庫應該只是暴露CRUD操作的表...但是,爲了從業務層執行此操作,我將不得不執行幾個獨立的查詢來獲取數據並創建'UserPerPermission'類。另一方面,如果我將其放入存儲庫,則可以使用分組一次性獲取這些信息。
謝謝!
PS:這個中間對象的名稱是什麼? 「轉變」?
關聯類? – 2012-08-31 15:16:58
爲什麼「我的業務層的方法必須允許每個用戶返回用戶」? –
因爲有一些關於用戶和權限管理的屏幕 – vtortola