У меня есть тип объекта с именем Изображение, который наследуется от Публикации (Существует 5 других типов Публикаций, все они имеют 10 общих свойств).
К сожалению, таблица изображений в моей БД включает 4 бинарных столбца с данными для 4 версий изображения в разных разрешениях, поэтому есть 4 свойства типа изображения EF:BinOriginal, BinHiRes, BinLowRes, BinThumbnail, которые содержат очень большие объемы данных.
Это влияет на производительность. Я не хочу захватывать все двоичные данные, например, когда я просто создаю серию ссылок на изображения.
Итак, я попытался разбить таблицу-, поместив 4 двоичных поля в новый объект ImageFile а-ля:http://blogs.msdn.com/b/adonet/archive/2008/12/05/table-splitting-mapping-multiple-entity-types-to-the-same-table.aspx
Я обеспечил правильное отображение таблицы-, добавил ассоциацию 1-1 и включил ссылочное ограничение, но я получаю эту ошибку :
Error 3033: Problem in mapping fragments starting at line 2731:EntitySets
'ImageFiles' and 'Publications' are both mapped to table 'Images'. Their primary
keys may collide.
... кажется, есть проблема в том, что разделяемая таблица участвует в отношениях наследования.
Я пытался наследовать новый тип ImageFile EF от Publication, но затем получаю сообщение об ошибке.:
Problem in mapping fragments starting at lines 2332, 2374:Two entities with
different keys are mapped to the same row
ВОПРОС Можно ли как-то обойти это, или мне нужно, чтобы тип Image EF наследовался от Публикация исключает выделение других полей в новый тип?