EF4: горизонтальное расщепление или сложные типы? - PullRequest
0 голосов
/ 16 мая 2011

Мне нужна ваша помощь для реализации горизонтального разбиения таблицы, но не для унаследованных классов. Мне нужно просто «переместить» некоторые атрибуты в новую сущность, отделить их. Этот новый объект должен иметь ассоциацию (1 <-> 1..0)

Но я улавливаю ошибку "... их первичные ключи могут столкнуться". Где секрет? (ОК, теперь я знаю: секрет «только 1 <-> 1»)

Но остается еще один открытый вопрос: что использовать горизонтальные классы или производные сущности?

У меня есть таблица Records (с PK RecordID), в которой есть несколько атрибутов с «дублированной информацией», что означает, что к этой информации можно «получить доступ» также с помощью / соединения с другой ссылочной таблицей (скажем, от словаря) и она просто «резервная копия» информация от него.

Ссылочная информация может отличаться от «резервной копии / дублирования», и это имеет смысл в моей модели предметной области, поэтому в общем случае мне нужны оба варианта, но большинство операторов select и update не включают эти «дублированные атрибуты», поэтому я хочу поддержать этот факт как-то в концептуальной модели. Это нормальное желание или прямой способ получить «переоцененную» модель?

OK. Это схема. Слева то, что у меня есть, справа то, что я хочу иметь.

enter image description here

1 Ответ

0 голосов
/ 17 мая 2011

ОК. Я нашел причину ошибки.

Я пытался использовать ассоциацию с кратностью 1 <-> 1..0.Это не работает с "горизонтальным разделением таблицы".Только 1 <-> 1 работа!

Но я до сих пор не решаю - что лучше: переместить «дублированные поля» в отдельную энтитию (избыточный дизайн?) Или просто создать для них сложный тип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...