Каково значение по умолчанию для ModelBuilder и DbContextOptionsBuilder?

#c# #entity-framework #asp.net-core

Вопрос:

В настоящее время изучает О.Ядро Net Core и ядро Entity Framework, я изучаю DbContext… И я понял, что:

  1. Мы обычно используем DbContextOptionsBuilder для предоставления DbContextOptions в базу конструктора контекста, это конструктор DbContext, верно?!
  2. И у нас также может быть какой-то класс, настроенный для предоставления пользовательской модели разработчику моделей.Сущность внутри переопределения OnModelCreating

Я почти в порядке с этой темой, и мне просто любопытно узнать, есть ли какое-либо значение по умолчанию и/или конфигурация для этих параметров?

Комментарии:

1. Там нет. Модель по умолчанию пуста, и конфигурации по умолчанию нет. Попробуйте использовать неконфигурированный DbContext, и вы получите сообщение об ошибке с просьбой настроить его.

2. Это всего лишь строитель . Он ничего не построит, если вы ему ничего не дадите. Например, StringBuilder также не имеет значения по умолчанию.

Ответ №1:

нет, это не значение по умолчанию или конфигурация на нем. вы можете посмотреть эту ссылку .

Метод создания onmodel по умолчанию пуст, и вы можете удалить эту строку кода в своем методе создания onmodel.

 base.OnModelCreating(modelBuilder);
 

но если вы используете Identity,и ваш класс DbContext наследуется от IdentityDbContext, вы должны установить эту строку в своем OnModelCreating, потому что у него есть конфигурация по умолчанию.
вы можете посмотреть эту ссылку для просмотра настроек .