Хорошо, похоже, в настройках моего проекта могут быть какие-то улучшения.
В настоящее время у меня есть:
1. ASP.NET MVC3 Web project
2. NHibernate project with Repositories/Mappings and some session code.
3. Entities (models used in nhibernate like User.cs)
4. Interfaces (like IUser, IRepository<IUser>, IUserRepository...)
5. Common (UserService, ..)
Теперь проблема в том, что мне в моих моделях nhibernate теперь нужно реализовать IUser, что мне не нравится, но я был вынужден сделать это, так как мой IRepository
является общим, и я мог бы использовать IRepository<User>
, поскольку пользователь в другом проекте, поэтому мне пришлось создать интерфейс и сделать IRepository<IUser>
Мне никогда не понадобится другая реализация User, так что это меня беспокоит.
Как я могу это исправить, держа вещи отдельно, чтобы я мог поменять свой ORM?