#mysql #sql #sql-server #entity-framework
#mysql #sql #sql-сервер #entity-framework
Вопрос:
Я пытаюсь найти хороший способ справиться со следующим сценарием в Entity Framework, но не знаю названия используемого соглашения, поэтому мне трудно находить результаты:
Базовые таблицы
Таблица категорий: идентификатор категории, имя, …, Активный
Таблица веб-страницы: WebpageID, имя, …, Активный
Таблица продукта: ProductID, Name, …, Active
Таблица ссылок: LinkId, имя, …, Активный
Таблица отношений
Таблица связей: ID, CategoryID, childID, ChildTypeID, сортировщик
(Дочерним идентификатором может быть CategoryID, WebpageID, ProductID или LinkId. ChildTypeID определяет, с какой таблицей / типом также связан childID)
Что я должен использовать для поисковых запросов, чтобы найти информацию об этом типе отношений? Есть ли у кого-нибудь ссылки на ресурсы, которые могли бы быть полезны при обработке такого рода вещей в Entity Framework? Я рассматриваю возможность разбиения таблицы взаимосвязей на четыре таблицы, но хотел бы убедиться, что я не создаю для себя больше работы, чем необходимо.
Комментарии:
1. Это очень плохая структура. У вас должна быть отдельная таблица отношений для каждого типа отношений, чтобы вы могли применять ограничения внешнего ключа. Эту структуру сложнее запрашивать и гораздо более вероятно, что она содержит неверные данные.
2. HLGEM, отсюда мой комментарий о том, чтобы разбить таблицу связей на четыре таблицы. Плохая структура бросается в глаза наблюдателю… Иногда вам приходится нормализовать, денормализовать и делать некоторые необычные вещи, чтобы соответствовать вашим конкретным потребностям. В этом случае требовалось возвращать разбитый на страницы и отсортированный список всего содержимого категории. Столбец SortOrder не является специфичным для дочернего типа, но относится ко всем типам в категории.
Ответ №1:
В режиме гибернации это называлось бы отображением наследования. Попробуйте поискать похожие термины в документации Entity Framework.