Поделиться через


DbModelBuilder - класс

[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]

DbModelBuilder служит для сопоставления классов CLR со схемой базы данных. Этот ориентированный на код подход к построению модели EDM называется Code First.

Иерархия наследования

System.Object
  System.Data.Entity.DbModelBuilder

Пространство имен:  System.Data.Entity
Сборка:  EntityFramework (в EntityFramework.dll)

Синтаксис

'Декларация
Public Class DbModelBuilder
'Применение
Dim instance As DbModelBuilder
public class DbModelBuilder
public ref class DbModelBuilder
type DbModelBuilder =  class end
public class DbModelBuilder

Тип DbModelBuilder предоставляет следующие члены.

Конструкторы

  Имя Описание
Открытый метод DbModelBuilder() Инициализирует новый экземпляр класса DbModelBuilder.Процесс обнаружения исходной модели использует набор соглашений, который включен в самую последнюю версию платформы Entity Framework, установленную на компьютере.
Открытый метод DbModelBuilder(DbModelBuilderVersion) Инициализирует новый экземпляр класса DbModelBuilder, который будет использовать конкретный набор соглашений для обнаружения исходной модели.

По верхнему краю

Свойства

  Имя Описание
Открытое свойство Configurations Возвращает результат ConfigurationRegistrar для данного DbModelBuilder.Регистратор позволяет регистрировать конфигурации с производными сущностями и сложными типами при помощи построителя.
Открытое свойство Conventions Предоставляет доступ к параметрам DbModelBuilder, который работает с соглашениями.

По верхнему краю

Методы

  Имя Описание
Открытый метод Build(DbConnection) Создает объект DbModel на основе настроек, произведенных построителем.Подключение используется для определения используемого поставщика базы данных, так как он влияет на уровень базы данных в формируемой модели.
Открытый метод Build(DbProviderInfo) Создает объект DbModel на основе настроек, произведенных построителем.Необходимо указать сведения о поставщике, так как они влияют на уровень базы данных в формируемой модели.Для поставщика SqlClient используется неизменяемое имя «System.Data.SqlClient» и токен манифеста, содержащий год выхода версии (например, «2005», «2008» и т. д.).
Открытый метод ComplexType<TComplexType> Регистрирует тип в качестве сложного типа модели и возвращает объект, который можно использовать для настройки этого сложного типа.Данный метод можно вызывать повторно для одного и того же типа, чтобы применить несколько строк настроек.
Открытый метод Entity<TEntityType> Регистрирует тип сущности как часть модели и возвращает объект, который можно использовать для настройки этой сущности.Данный метод можно вызывать повторно для одной и той же сущности, чтобы применить несколько строк настроек.
Открытый метод Equals Определяет, равен ли объект DbModelBuilder указанному объекту. (Переопределяет Object.Equals(Object).)
Защищенный метод Finalize (Унаследовано от Object.)
Открытый метод GetHashCode Возвращает хэш-код текущего экземпляра. (Переопределяет Object.GetHashCode().)
Открытый метод GetType Возвращает объект Type для текущего экземпляра.
Открытый метод HasDefaultSchema Настраивает имя схемы базы данных по умолчанию.Это имя схемы базы данных по умолчанию используется для всех объектов базы данных, не имеющих явно заданного имени схемы.
Открытый метод Ignore(IEnumerable<Type>) Исключает указанные типы из модели.Используется для удаления из модели типов, добавленных по соглашению в процессе обнаружения исходной модели.
Открытый метод Ignore<T>() Исключает тип из модели.Используется для удаления из модели типов, добавленных по соглашению в процессе обнаружения исходной модели.
Защищенный метод MemberwiseClone (Унаследовано от Object.)
Открытый метод Properties() Начинает настройку облегченного соглашения, применяемого ко всем свойствам в модели.
Открытый метод Properties<T>() Начинает настройку облегченного соглашения, применяемого ко всем примитивным свойствам указанного типа в модели.
Открытый метод RegisterEntityType Регистрирует тип сущности как часть модели.
Открытый метод ToString Возвращает строковое представление объекта DbModelBuilder. (Переопределяет Object.ToString().)
Открытый метод Types() Начинает настройку облегченного соглашения, применяемого ко всем сущностям и комплексным типам в модели.
Открытый метод Types<T>() Начинает конфигурацию облегченного соглашения, которое применяется ко всем сущностям и комплексным типам в модели, наследующей от типа, указанного универсальным аргументом.Этот метод не регистрирует типы как составную часть модели.

По верхнему краю

Примечания

DbModelBuilder обычно используется для настройки модели путем переопределения OnModelCreating(DbModelBuilder). Однако DbModelBuilder можно также использовать независимо от DbContext для сборки модели и последующего конструирования DbContext или ObjectContext. Рекомендуется использовать OnModelCreating в контексте DbContext, так как при таком подходе рабочий процесс является интуитивно более понятным и обслуживает такие типовые задачи, как кэширование созданной модели. Типы, которые формируют модель, регистрируются при помощи DbModelBuilder. Дополнительную настройку можно произвести, применяя к классам заметки к данным или с помощью API-интерфейса DbModelBuilder. При вызове метода Build запускается набор соглашений, позволяющих обнаружить исходную модель. Эти соглашения автоматически обнаруживают такие аспекты модели, как первичные ключи, а также обрабатывают любые заметки к данным, заданные в классах. В конце применяются любые настройки, выполненные с помощью API-интерфейса DbModelBuilder. Настройки, выполненные с использованием API DbModelBuilder, имеют более высокий приоритет, чем заметки к данным, которые в свою очередь имеют приоритет над соглашениями по умолчанию.

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасная работа с членами экземпляров типа не гарантируется.

См. также

Справочник

System.Data.Entity - пространство имен