Сценарии сопоставления модели EDM (сценарии приложений)
Платформа Entity Framework поддерживает различные способы сопоставления концептуальных моделей с реляционными данными в модели EDM. Дополнительные сведения см. в разделе Моделирование данных на платформе Entity Framework.
В настоящее время платформа Entity Framework поддерживает следующие сценарии сопоставления модели EDM.
Сценарий сопоставления | Описание |
---|---|
Простое сопоставление |
В этом сценарии сопоставления каждая сущность концептуальной модели сопоставляется с одной таблицей модели хранения. Такое сопоставление формируется средствами модели EDM по умолчанию. Дополнительные сведения см. в разделе Краткое руководство (платформа Entity Framework). |
Разбиение сущностей |
В этом сценарии сопоставления свойства одной сущности концептуальной модели сопоставляются со столбцами двух и более базовых таблиц. В этом случае таблицы должны совместно использовать общий первичный ключ. Дополнительные сведения см. в разделе Как определить модель с одной сущностью, сопоставленной с двумя таблицами. |
Горизонтальное секционирование в модели хранения |
В этом сценарии сопоставления один тип сущности концептуальной модели сопоставляется с двумя и более таблицами в одной и той же схеме. Сущность сопоставляется с таблицами на основе условия, определенного в концептуальной модели. Например, логическое свойство OnlineOrderFlag сущности SalesOrderHeader в модели AdventureWorks Sales может использоваться для секционирования данных сущности в источнике данных на две таблицы, одна из которых содержит заказы, принятые в оперативном режиме, а вторая — в автономном режиме. Дополнительные сведения см. в разделе Элемент Condition (MappingFragment). |
Горизонтальное секционирование в концептуальной модели |
В этом сценарии сопоставления несколько типов сущностей концептуальной модели, имеющих одинаковые свойства, сопоставляются с одной таблицей. Для указания того, какие данные в таблице принадлежат каждому из типов сущностей, используется предложение условия. Такое сопоставление напоминает сопоставление наследования типа «одна таблица на иерархию». |
Наследование типа «одна таблица на иерархию» |
В этом сценарии сопоставления все типы иерархии наследования сопоставляются с единственной таблицей. Для определения типов сущностей используется предложение условия. Дополнительные сведения см. в разделе Как определить модель с наследованием типа «одна таблица на иерархию» (платформа Entity Framework). |
Наследование типа «одна таблица на тип» |
В этом сценарии сопоставления все типы сопоставляются с отдельными таблицами. Как свойства базового типа, так и свойства производного типа хранятся в таблице, сопоставленной с этим типом. Дополнительные сведения см. в разделе Как задать модель с наследованием «таблица для типа» (платформа Entity Framework). |
Наследование типа «одна таблица на конкретный тип» |
В этом сценарии сопоставления каждый из неабстрактных типов сопоставляется с отдельной таблицей. Каждая из этих таблиц должна иметь столбцы, которые сопоставляются со всеми свойствами производного типа, включая свойства, унаследованные от базового типа. |
Несколько наборов сущностей на тип |
В этом сценарии сопоставления один тип сущности выражается двумя и более отдельными наборами сущностей концептуальной модели. Каждый набор сущностей сопоставляется с отдельной таблицей в модели хранения. Дополнительные сведения см. в разделе Как определить модель с несколькими наборами сущностей на тип (платформа Entity Framework). |
Сложные типы |
Сложный тип — это нескалярное свойство типа сущности, которое не имеет свойства ключа. Сложный тип может содержать другие вложенные сложные типы. Сложные типы сопоставляются с таблицами в модели хранения. Дополнительные сведения см. в разделе Как определить модель со сложным типом (платформа Entity Framework). |
Сопоставление импорта функций |
В этом сценарии хранимая процедура модели хранения сопоставляется с элементом FunctionImport концептуальной модели. В результате выполнения этой функции данные сущности возвращаются сопоставленной хранимой процедурой. Дополнительные сведения см. в разделе Как определить модель с помощью хранимой процедуры (платформа Entity Framework). |
Сопоставление функций изменения |
В этом сценарии определяются хранимые процедуры модели хранения для вставки, обновления и удаления данных. Эти функции определяются для типа сущности и обеспечивают возможность обновления данных для определенных типов сущностей. Дополнительные сведения см. в разделе Поддержка хранимых процедур (платформа Entity Framework). |
Определение сопоставления запроса |
В этом сценарии определяется запрос модели хранения, который представляет таблицу в источнике данных. Этот запрос выражается на собственном языке запросов источника данных, таком как Transact-SQL, при сопоставлении с базой данных SQL Server. Элемент DefiningQuery сопоставляется с типом сущности концептуальной модели. Запрос определяется на языке запросов хранилища данных. Дополнительные сведения см. в разделе Элемент DefiningQuery (EntityContainer, язык SSDL). Если используется определяющий запрос, то обновления не могут быть сохранены в источнике данных при помощи стандартного процесса обновления. Обновления необходимо выполнять путем определения сопоставлений функций изменения. Дополнительные сведения см. в разделе Поддержка хранимых процедур (платформа Entity Framework). |
Сопоставление представления запроса |
В этом сценарии определяется сопоставление только для чтения между типами сущностей концептуальной модели и реляционными таблицами модели хранения. Для этого сопоставления определяется запрос Entity SQL к модели хранения, возвращающий сущности концептуальной модели. Дополнительные сведения см. в разделе Элемент QueryView (EntitySetMapping). Если используется представление запроса, то обновления не могут быть сохранены в источнике данных при помощи стандартного процесса обновления. Обновления необходимо выполнять путем определения сопоставлений функций изменения. Дополнительные сведения см. в разделе Поддержка хранимых процедур (платформа Entity Framework). |
Сопоставление AssociationSet |
Ассоциации определяют взаимосвязи между сущностями. При простом сопоставлении с ассоциацией «один к одному» или «один ко многим» те ассоциации, которые определяют связи концептуальной модели, сопоставляются с ассоциациями модели хранения. Поддерживаются также следующие расширенные сопоставления наборов ассоциаций.
Дополнительные сведения см. в разделе Элемент Association (модель EDM). |
Сведения о сценариях сопоставления, поддерживаемых средствами модели EDM, см. в разделе Общие сведения о конструкторе моделей EDM ADO.NET.
См. также
Основные понятия
Наследование в модели EDM (сценарии приложений)
Ресурсы платформы Entity Framework
Запрос к модели EDM (сценарии приложений)
Программирование классов модели EDM (сценарии приложений)
Определение модели EDM (сценарии приложений)
Другие ресурсы
Руководство по программированию (платформа Entity Framework)
Образцы (платформа Entity Framework)