Я строю обычную ОРМ, используя Dapper. У меня есть следующие таблицы:- это элегантный способ реализовать этот сценарий ассоциации в пользовательском orm?
- пользователя
- Роль
- Разрешение
- RolePermission
Мой sproc имеет 2 выбирает: 1 для базовой информации о пользователе, 1 для пользователя роли информации. Основная информация пользователя десериализуется в пользовательский объект. Информация RolePermission десериализуется в пользовательский объект RolePermission и затем программно ассоциируется с объектом User. Насколько сложно было бы реализовать реализацию графика объекта в пользовательской ORM? Например, EF берет хороший и простой подход OO, чтобы получить имя роли следующим образом: User.UserRoles.Role.Name. Однако это достигается за счет использования сложного и сложного f/w, который автоматически отображает объединение объектов на основе ассоциаций db fk. Это также связано с производительностью. Моя мысль создать мои классы сущностей следующим образом:
- MyCompany.Entities.Entity.User.User
- MyCompany.Entities.Entity.User.RolePermission
Поэтому мой объект RolePermission бы полностью адаптированы к объекту User без внешних зависимостей. Это позволило бы объекту RolePermission максимально облегчить работу в контексте объекта User. Для поддержки других объектов/доменов/обычаев не нужны никакие дополнительные свойства. Это кажется элегантным (простым, эффективным, эффективным) решением. Каковы ваши мысли об этом типе подхода для создания сложного объекта в пользовательском ORM?