После охоты вокруг сети и, подумав, что я придумаю решение, я, похоже, ударил другую кирпичную стену.
В моей базе данных есть таблица: Фотографии; содержит столбцы для PhotoID, подписи, порядка и четырех наборов двоичных данных: исходные, большие, средние и маленькие (да, он основан на старом начальном наборе ASP.NET с различными исправлениями и т. д.).
Я нахожусь в процессе перехода от L2S к Entity Framework для получения некоторых преимуществ, которые я получаю благодаря этому, поэтому мне больше не нужно просматривать свойство PhotosTags, чтобы получить список тегов, прикрепленных к фотографии для например, но я ищу способ отсрочить загрузку двоичных данных - в большинстве случаев мне нужны только заголовок, тег и идентификатор, и затем я передаю их в другую область, чтобы получить двоичные данные, когда пользователь на самом деле просматривает изображение.
Я посмотрел на следующие сообщения:
- Как разбить таблицу данных?
- «Разделение таблицы»: отображение нескольких типов объектов в одну таблицу.
- Глава 7 из: Руководство по обучению Entity Framework (7.1. Задержка загрузки дорогих полей)
И я закончил с Entity Mapping, похожим на это:
![Entity Diagram](https://i.stack.imgur.com/FNTrQ.png)
И, согласно ссылкам выше, я изменил файл edmx, добавив в него следующее Ссылочное ограничение:
<ReferentialConstraint>
<Principal Role="Photos">
<PropertyRef Name="PhotoID" />
</Principal>
<Dependent Role="PhotoDetails">
<PropertyRef Name="PhotoID" />
</Dependent>
</ReferentialConstraint>
Модель проверяет, но не строит - из-за проблемы с отображением тегов, я думаю:
Ошибка 3019: проблема в отображении фрагментов, начинающихся со строк 871, 892: неправильное отображение столбцов составного ключа. Ограничение внешнего ключа 'FK_siteContent_TagsPhotos_siteContent_Photos' от таблицы siteContent_TagsPhotos (PhotoID) к таблице siteContent_Photos (PhotoID): столбцы (PhotoID) в таблице siteContent_TagsPhotos сопоставляются свойствам (PhotoID) в siteContent_TagsPhotos и столбцам (PhotoID) в фотографии (в PhotoID) на сайте (PhotoID) в таблице. в PhotosPhotoDetails. Порядок столбцов через сопоставления не сохраняется.
Связь между фотографиями и тегами осуществляется через таблицу ссылок, столбцы PhotoID, TagID.
Кому-нибудь удалось получить эти рекомендации или что-то подобное для работы с Entity Framework в .NET 3.5 SP1 с такой структурой данных? Или вы можете указать на ограничения моего GoogleFU?
Я знаю, что все это будет намного проще в .NET 4, но его здесь нет, и, возможно, через некоторое время после его выпуска мой хост начнет предлагать его установить где-то.
Спасибо.