Intereting Posts
Создание COM-сервера автоматизации в C # Атрибут XmlNamespaceDeclarations игнорируется во время сериализации XML Получить тип времени выполнения кадров стека Преобразование обычного веб-запроса Http Post с помощью Async и Await Activator.CreateInstance: не удалось загрузить тип из сборки Как изменить языковую версию в Visual Studio 2015 Как поднять событие при изменении DataGrid.ItemsSource Импорт диаграмм Excel из Excel в PowerPoint приводит к тому, что на некоторых машинах `RPC_E_SERVERFAULT` Не удалось создать драйвер из NHibernate.Driver.OracleDataClientDriver Передача значения текстового поля html в качестве параметра для метода controllerов в asp.net MVC Получение помеченных данных из Socket в один буфер Запрос был прерван: не удалось создать безопасный канал SSL / TLS Какой обработчик события использовать для выбранного компонента ComboBox (выбранный элемент необязательно изменен) Бинарный поиск отсортированного массива Почему ServerVariable возвращает IP-адрес сервера?

Сопоставление структуры фреймов объектов между представлением и таблицей

Я могу отображать таблицы 1: 1 (один к одному) интуитивно, например:

Но я не могу понять, как сделать одно и то же сопоставление между таблицей и VIEW, например

На этой диаграмме представлены две сущности. Если я вручную создаю ассоциацию в модели сущности и настрою ее отображение следующим образом:

Затем я получаю сообщение об ошибке:

Ошибка 3021: проблема в отображении fragmentа, начиная со строки 172: каждый из следующих столбцов в таблице view_EmployeeView сопоставляется с несколькими концептуальными боковыми свойствами: view_EmployeeView.EmployeeID сопоставляется с Employeesview_EmployeeView.Employees.id, Employeesview_EmployeeView.view_EmployeeView.EmployeeID

Почему бы мне не получить эту ошибку с ассоциацией табличных таблиц? Как решить эту проблему? Я хотел бы поместить некоторую вычисленную информацию в представление, но явным образом присоединяюсь к ней, когда мне нужно с .Include ().

Чтобы сопоставить связь между двумя объектами, внешний ключ также не может быть первичным ключом.

То, что вы на самом деле имеете здесь, – это наследование TPT. У вас есть базовый class плюс дополнительные дополнительные свойства во второй таблице (или в представлении).

посмотреть это видео: http://msdn.microsoft.com/en-us/data/cc765425.aspx

Сделайте сущность «view» наследованием от объекта Employee. Удалите свойство EmployeeID из объекта представления. Сопоставьте столбец EmployeeID свойства View с идентификатором базового Employee. Вы получите один ObjectSet в ObjectContext для этой иерархии.