Денормализация с помощью Entity Framework - PullRequest
3 голосов
/ 05 февраля 2011

Недавно я слышал, как кто-то предложил использовать Entity Framework для денормализации данных.Например, допустим, у вас есть таблица игровых жанров и таблица игр.

Ваша первоначальная модель EF может получить название жанра игры через game.Genre.Name.По-видимому, есть способ переназначить вещи, чтобы вы могли добраться до названия жанра игры через game.GenreName.

Хотя я не могу найти пример этого.Единственный известный мне подход состоит в том, чтобы вручную добавить слой абстракции, который отображает это (например, new GameAbstraction() {GenreName = gameEntity.Genre.Name }).

Это то, что EF может сделать, или это все о повышении нормализации (например, создание SportsGame при Genre.Name == 'Sports' or ActionGame when Genre.Name = 'Action')?

Ответы [ 2 ]

2 голосов
/ 05 февраля 2011

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

Однако я придерживаюсь мнения, что инструменты для пользовательского интерфейса + для этого еще не совсем понятны с точки зрения автоматизации или простоты использования. Некоторые вещи просто не соответствуют тому, что вы ожидаете или хотите. Если вы планируете сделать много денормализации, вы в конечном итоге будете делать много ручного редактирования XML за дизайнером. Это то, что я должен был сделать некоторое время в своем последнем проекте.

0 голосов
/ 07 февраля 2011

Да, это называется разделением сущностей. Вот учебник.

Я согласен с @Graham, что вам не следует пробовать это, если вам неудобно редактирование XML.

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