C # (WPF): просмотрщик отношений с базами данных - PullRequest
2 голосов
/ 20 августа 2010

Я хотел бы создать приложение WPF в C # , которое может визуально отображать в удобной для пользователя форме взаимосвязи между таблицами из базы данных, выбранной пользователем приложения (MS SQL Server, MS Access, Oracle, MySQL и т. Д.) И позволяют редактировать отношения.

Например, в Microsoft Access 2007 это можно сделать, имея по крайней мере 2 таблицы и нажав на вкладку Инструменты базы данных и затем Отношения .Другой пример - это Microsoft SQL Server при создании диаграммы базы данных.

Первым шагом будет создание слоя доступа к данным, чтобы разрешить подключение к различным типам баз данных (в зависимости от типа поставщика).

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

Спасибо за любую помощь и предложения!

Ответы [ 5 ]

0 голосов
/ 02 октября 2010

Это не бесплатно, но для любого построения диаграмм WPF я бы всегда использовал продукт построения диаграмм Mindscape Схемы WPF .Продукт отличный, а поддержка превосходная.

0 голосов
/ 24 августа 2010

Чтение отношений внешнего ключа может быть нетривиальным.Моя заявка содержит следующий комментарий:

//get the list of all foreign keys
//unfortunately GetSchema doesn't return the column definitions
//http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=741870&SiteID=1 suggests getting this
//information from the the sys.foreign_keys catalog view joined with sys.objects (for SQL 2005)
//or from the sysforeignkeys and sysobjects tables in SQL 2000).
0 голосов
/ 24 августа 2010

Возможно, вы могли бы взглянуть на PIA MS Office для MS Access 2007 и посмотреть, сможете ли вы найти средство просмотра, о котором говорите ...

0 голосов
/ 24 августа 2010

Здесь довольно много предметов «Большого билета», но мы начнем с основной функциональности.

Задачи БД: Перечисление таблиц Для каждой таблицы перечислите отношения. Абстрактная функциональность выше для каждого типа БД, с которым вы хотите иметь дело.

Задачи пользовательского интерфейса: Разложите таблицы (простые коробки одинакового размера) рисовать линии для каждого отношения Внедрить Drag & Drop - перерисовать линии взаимосвязи по капле.

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

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

Если это для клиента, в профессиональном качестве, не тратьте на это свое время.

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

надеюсь, это поможет!

0 голосов
/ 24 августа 2010

Существует средство просмотра такого рода, встроенное в Visual Studio, перейдите в Инструменты-> Подключиться к базе данных и подключите все это к базе данных.Затем, когда вы увидите базу данных в обозревателе серверов, откройте таблицу и посмотрите на разные кнопки на панели инструментов, есть такая, которая выведет таблицу в виде небольшого окна на сером фоне.Как только вы откроете это окно, вы можете перетащить другие таблицы в серую область, и они покажут вам все их взаимосвязи.

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