Отображение многих таблиц во многих выпадающих списках. c #, asp.net-mvc, linq2sql - PullRequest
0 голосов
/ 04 декабря 2009

Я хочу использовать пример, чтобы объяснить, что я хочу.

Предположим, у меня следующий дизайн БД:

Item (id, name, categoryID);
Category (id, name);

Когда пользователь хочет создать Элемент (заполнить форму), я дам список категорий в раскрывающемся списке, и когда пользователь выберет одну из категорий, ASP.NET MVC автоматически свяжет categoryID с выбранной. Мне нужно представить тот же выпадающий список при редактировании элемента с правильно выбранным.

Вопрос: Но моя БД очень большая, и ей требуется около 30-40 (может быть, даже больше) категорийных таблиц, которые содержат только «id» и «name», и все таблицы должны отображаться в раскрывающемся списке при создании какого-либо другого объекта , а также должен быть представлен при редактировании объекта. Определенная схема не работает, потому что утомительно 100 раз писать одну и ту же логику только с разными именами таблиц. (Я использую Linq2SQL)

В настоящее время мое решение: Создайте представление, основанное на всех таких таблицах, и в приложении я просто вызываю функцию, которая создает раскрывающийся список из этого единственного представления. Но все равно утомительно менять определение представления каждый раз, когда я добавляю новую таблицу.

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

Ответы [ 2 ]

1 голос
/ 05 декабря 2009

Это не проблема: «Определенная схема не работает, потому что утомительно 100 раз писать одну и ту же логику только с разными именами таблиц».

На вашем месте я отмечу дополнительный интерфейс для этих классов, используя функцию "частичного класса". Затем я напишу несколько методов расширения для частичного класса.

0 голосов
/ 14 января 2010

Если кто-то заинтересован в решении: Я использовал отражение, чтобы решить эту проблему. Я использую отражение над DataContext, чтобы получить таблицу (по имени строки), получить ее поля и создать список параметров.

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