Вопросы по внедрению DBContext - PullRequest
0 голосов
/ 04 ноября 2019

Я новичок в мире Asp.net с его объектами, поэтому у меня есть несколько вопросов: -

1- Когда мы создаем более чем класс реализатора DBContext, а не только один? 2- В общем шаблоне я вижу, какой класс, производный от DBcontext, имеет свойство DBSet для каждой сущности. Так зачем мы это делаем? Для меня я создаю только общий репозиторий и один класс реализации DBContext, который не имеет никакого свойства DBSet. Это правильный шаблон?

Спасибо за ваш ответ

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

О пункте 2 Всегда я вообще не заполняю никакое свойство DBSet для какой-либо таблицы в реализаторе DBContext, только я заполняю его в реализаторе универсального репозитория (объяснено ниже). Поэтому я снова задаю этот вопрос: считается ли это правильной практикой?

private DbSet<T> dbSet;
private StoreEntities storEntites;

protected IDBFactory dbFactory { get; set; }
protected StoreEntities DbContext
{
    get { return storEntites ?? (storEntites = dbFactory.init()); }
}

protected GenericReprositry(IDBFactory dbfactrty)
{
    dbFactory = dbfactrty;
    dbSet = DbContext.Set<T>();

}
0 голосов
/ 04 ноября 2019
  1. Вы можете, если у вас есть несколько баз данных, вы можете иметь контекст для каждой.
  2. DBSet представляет таблицу в вашей базе данных
...