Структура сущности моей базы данных следующая:
Где: < /p>
[*] red = базовый класс (не абстрактный), содержит имя, фамилию и т. Д. Приложение может работать в двух режимах: автономный или с внешней системой < /li>
Green = Customer Speytendended Class, этот класс всегда наследует от красного или от черного. Это всегда последнее. < /Li>
< /ul>
Проблема в примере использования: < /p>
Каждый контроллер в ядре ASP.NET, который не находится внутри плагина (что означает, что конкретная реализация клиентов) действует в качестве автономного реализации, что означает, что он имеет дело с базовыми объектами (красный). /> Кодовые разделения на услуги (автономная, внешняя система), эти услуги могут быть переопределены услугами плагина. Службы плагинов всегда наследуют от автономных или внешних внедренных служб. Например. Если приложение настроено, основанное на внешней системе (Black), и я переопределяет службу плагина, например, Заказы и изменение только единого метода, например, Подробности, которые означает, что каждый другой метод работает на сущности из черного раздела, в то время как метод деталей начнет использовать энтуальность зеленого секции. < /Li>
< /ul>
Цель: < /p>
Реализация, которая не касается переопределения. Всегда иметь только один бетон (самый нижний). Если запрос для родителей происходит, он просто должен получить другие свойства нулевыми, потому что реализация не учитывается с ними - это нормально. Неопределенные методы используют родительский контекст, который не включает в себя «новый» дискриминатор. Здесь я закончил проблемы с пользовательским менеджером/Signinmanager , где я не могу использовать абстрактные классы в контроллерах.
[*]
Код: Выделить всё
entity.HasNoDiscriminator();
Код: Выделить всё
public override DbSet Orders => Set();
Всегда существует тип контекста базы данных на приложение.
Подробнее здесь: https://stackoverflow.com/questions/796 ... ngle-table