|
|
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Создаю базу для использования в дальнейшем с entity framework. Entity model предполагаю генерировать из базы. Есть две таблицы. Customers (клиенты) id(PK) name Address (их адреса) id(PK) id_customer name Мне нужно, чтобы у сущности customer в дальнейшем было поле(свойство) .hisAddress, которое возвращало список адресов этого customer. Как это сделать правильно? Раньше имел дело либо с чистыми SQL-запросами, либо чисто объектными вроде Core Data, а как спроектировать базу под EDM - что-то не соображу.. Спасибо. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 12:15 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Monochromatique, Ну и добавь в таблицу Customers поле hisAddress. В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:07 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Ну, из названия поля как бы вытекает, что адресов много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:12 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
MonochromatiqueНу, из названия поля как бы вытекает, что адресов много. Ну собственно у вас же уже есть таблица Address. Зачем вам тогда еще поле hisAddress? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:16 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Злой БобрНу собственно у вас же уже есть таблица Address. Зачем вам тогда еще поле hisAddress? насколько я понимаю, ТС не представляет, как реализовать многие-ко-многим на уровне таблиц БД... делов-то, еще одна таблица: [idCustomer-idAddres] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:23 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Chop, Ненужно. У него уже есть Address.id_customer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:30 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Злой БобрChop, Ненужно. У него уже есть Address.id_customer. таки да, не дочитался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:34 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Chopтаки да, не дочитался...у него один-ко-многим и уже есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:34 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
test ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:41 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Насколько я понял. 1. Я проектирую базу данных. На уровне полей и связей между ними через FK. 2. Потом создаю EDM с указанием - генерировать из базы данных. 3. И у меня готовые классы с УЖЕ заданными отношениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:41 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
У меня не получается добавить сообщение. Что за бред? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:43 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
С системах, с которыми я уже имел дело, ситуация "клиент.его_адреса" выглядит диковинной, поскольку данные по адресам получались из таблицы "адреса" с фильтрацией по id_client. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:46 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Но описанная схема очень удобна для использования в дальнейшем в различного рода привязках. Скажем, в CoreData можно получить ОДИН root-овый объект и дальше уже перемещаться по его связям через поля (поведение любого ORM?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:46 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Здесь же я столкнулся с проблемой - как задать поле hisAddress при сохранении отношения между таблицами клиент-->адреса как one-2-many. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:47 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Я попробовал другой путь - сначала создать EDM, а потом сгенерировать из нее DB. И как я вижу - все эти отношения хранятся не на уровне DB, а на уровне самой EDM. То есть таблицы остаются максимально простыми, а скажем, таблица "клиент" ничего кроме "id" и "name" не содержит вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:47 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
Добавляется только короткими сообщениями. Админам SQL.RU стоит поменьше задирать нос с такими-то багами на борту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2011, 13:48 |
|
||
|
Как правильно спроектировать? (Две таблицы)
|
|||
|---|---|---|---|
|
#18+
MonochromatiqueНо описанная схема очень удобна для использования в дальнейшем в различного рода привязках. Скажем, в CoreData можно получить ОДИН root-овый объект и дальше уже перемещаться по его связям через поля (поведение любого ORM?) Вы путаете представление данных пользователю и модель данных в бД. БД у вас правильная. А для пользователя Список адресов - это свойство объекта Клиент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2011, 12:22 |
|
||
|
|

start [/forum/topic.php?fid=32&tid=1542201]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
400ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 738ms |

| 0 / 0 |
