我正在使用Dapper構建自定義ORM。我有以下表格:這是一個在自定義orm中實現這種關聯場景的優雅方式嗎?
- 用戶
- 角色
- 權限
- RolePermission
我的存儲過程有2種選擇:1基礎用戶信息,1用戶的角色信息。基本的用戶信息被反序列化爲一個用戶對象。 RolePermission信息被反序列化爲一個自定義的RolePermission對象,然後以編程方式關聯到User對象。你在自定義的ORM中做對象圖實現有多複雜?例如,EF採用一種很好且簡單的面向對象方法來獲取這樣的角色名稱:User.UserRoles.Role.Name。然而,這是通過使用複雜而複雜的f/w實現的,該f/w根據db fk關聯自動映射實體連接。它還帶有性能開銷。我的想法是創造我的實體類如下:
- MyCompany.Entities.Entity.User.User
- MyCompany.Entities.Entity.User.RolePermission
因此,我RolePermission對象將完全適合用戶實體,無需外部依賴。這將使RolePermission對象在User對象的上下文中保持儘可能輕量級。它不需要任何額外的屬性來支持其他實體/域/用法。這看起來像一個優雅(簡單,有效,高效)的解決方案。對於在自定義ORM中創建複雜對象的這種方法,您有什麼想法?