У меня есть проект данных, который имеет все мои отображения nhibernate, и мои репозитории, такие как:
public class Repository<T> : IRepository<T>
{
private readonly ISessionFactory _sessionFactory;
public Repository()
{
}
public Repository(ISessionFactory sessionFactory)
{
this._sessionFactory = sessionFactory;
}
}
У меня есть определенные репозитории, которые происходят от этого класса, такие как UserRepository и т. Д.
public class UserRepository : Repository<IUser>, IUserRepository
{
}
Я использую StructureMap для подключения зависимостей.
В моем проекте Services я не хочу ссылаться на что-либо связанное с nhibernate (если это возможно), чтобы сделать его независимым от ORM.
Проблема в том, что мне нужно передать ISessionFactory в мой класс сервисов, который репозитории будут использовать правильно?
В моем веб-приложении (MVC) я ТОЛЬКО хочу сослаться на мой сервисный проект, а не на проект nhibernate Data.
Возможна ли эта настройка?