Таблица-разделение унаследованного типа объекта?

У меня есть тип объекта с именем Изображение, который наследуется от Публикации (Существует 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 наследовался от Публикация исключает выделение других полей в новый тип?

10
задан Faust 10 April 2012 в 08:52
поделиться