kid-programmer
@kid-programmer

Как передать контекст из одной сборки в другую?

Всем привет! Щас попробую сформулировать вопрос.
Хочу сделать библиотеку для работы с EF чтоб ее использовали другие библиотеки(проекты) без зависимости от EF. Не могу понять как передать в контекст моей библиотеки EF все сущности домена.
Например:
создал новый solution в нем создал три библиотеки (слоя)
Мойпроект.Domain,
Мойпроект.Domain.EF,
Мойпроект.UI.

В "Мойпроект.Domain.EF" где мне нужно работать с EF я не подключаю EF а подключаю свою библиотеку в которй есть зависимость от EF.
Но как мне передать в контекст (DbContext) моей библиотеки для работы с EF все сущности нового проекта.
public class EFDbContext : DbContext
    {
        DbSet<User> Users; <--
        DbSet<Role> Roles; <--
    }
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
Neuroware
@Neuroware
Программист в свободное от работы время
Никак, вы хотите использовать классы EF, не подключая EF, так сделать не получится, C# строго типизированный язык и должен всегда однозначно понимать с чем работает. Если хочется изолировать придется делать промежуточный класс, который будет знать и библиотека и приложение, в котором нет зависимости от EF, то есть через него передавать сырые данные. Такой подход в любом случае страшный костыль, который полностью стирает все плюсы EF ради которых его создавали. Не нужно костылей, просто подключите зависимости к приложению.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы