Как разместить меньшие таблицы в Домене и БД вместе с сущностями .NET - PullRequest
0 голосов
/ 26 января 2009

У меня есть важный Объект, у которого есть множество свойств. Теперь некоторые свойства могут иметь несколько значений, например, например, Объект канала, имеющий одного или нескольких производителей (теперь наш клиент думает, что может быть только несколько производителей, таких как в основном 1 или 2). Та же проблема существует почти с 7 свойствами.

Теперь у меня есть два решения;

  1. Встраивайте их как объекты ссылок в дизайн и создавайте отдельные таблицы в БД, следовательно, реализуя их как юридическое лицо (учитывая каждого производителя уникальный). Но это решение означает это одна таблица будет зависеть от 8 другие таблицы, чтобы иметь эту способность.

  2. Встраивать их как объекты ссылок / ссылок в домен, но не создавать отдельные таблицы для них вместо магазина их в формате CSV и пусть DAL сделать логику доступа / поиска. следовательно экономия места и отношений на БД сторона, а также сторона DAL. Но также имеющий ООП мощность.

Хотя 2-е решение кажется непристойным и работающим, но оно имеет ограничения дизайна и слабую гибкость, но опять же клиент настаивает на том, что ему просто нужны свойства произвольного текста для этого ничего.

для дальнейшего объяснения проблемы структура может быть такой

Channel
  Name, (free text)
  Vanue, (free Text)
 .......
  Producer1, Producer2...... (each producer is just a name)
  OpeningDay1,OpeningDay2,..... (each entry is just time slot)
* * Тысяча двадцать-одина и т.д. * * тысяча двадцать две

Ответы [ 2 ]

1 голос
/ 26 января 2009

Я думаю, что вы можете объединить оба подхода, чтобы дать хороший общий результат. Создайте отдельные таблицы для Producer и т. Д., А затем используйте доменные объекты, чтобы считывать значения из этих таблиц только один раз и кэшировать результаты. Таким образом, вы можете

1) поддерживать целостность ссылок в БД, использовать резервные копии БД и т. Д., 2) убрать снижение производительности объединения по 8 таблицам, чтобы получить единый объект 3) уменьшить зависимость от отдельных методов сохранения, файлов CSV и т. Д.

Этот подход типичен для справочных таблиц данных, эти значения, как правило, представляют собой небольшие, медленно меняющиеся таблицы, которые можно безопасно кэшировать.

0 голосов
/ 26 января 2009

Как насчет создания единственной связи с сущностью, которая также знает ее тип. т.е. производитель или вход и т. д.

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