2

我想在C#中创建一个WPF应用程序,它可以以用户界面友好的方式直观地显示从应用程序用户(MS SQL Server、MS Access、Oracle、MySQL 等)选择的数据库中的表之间的关系和允许编辑关系。

例如,在 Microsoft Access 2007 中,可以通过至少拥有 2 个表并单击“数据库工具”选项卡,然后单击“关系”来执行此操作。另一个示例是在 Microsoft SQL Server 中创建数据库图表时。

第一步是创建一个数据访问层以允许连接到不同类型的数据库(取决于提供者类型)。

我不知道 .NET 中是否已经有某种查看器(或者可能是免费的第三方库)可以解决问题。你认识一个吗?如果不是,使用 WPF 手动执行此操作的主要方法是什么?

感谢您的任何帮助和建议!

4

5 回答 5

0

这里有很多“大票”项目,但我们将从核心功能开始。

数据库任务:枚举表 对于每个表,枚举关系。为您希望处理的每种数据库类型抽象上述功能。

UI 任务: 布置表格(简单的相同大小的框)为每个关系绘制线 实施拖放 - 在拖放时重绘关系线。

现在,这不处理漂亮的曲线,并且很好地路由这些线它也不处理表格列,所以 UI 中的所有表格“框”都是相同的大小,这简化了布局。

但是这个级别的功能作为概念证明是一个很好的目标。

如果这是针对客户的,以专业的身份,请不要在上面浪费时间。

但是,如果是为了学习经验,那就去吧!从这样的项目中可以获得很多不错的掘金,您将在您的编程生涯中一次又一次地使用它们。

希望这可以帮助!

于 2010-08-24T11:37:25.207 回答
0

读取外键关系可能并非易事。我的申请包括以下评论:

//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).
于 2010-08-24T11:44:54.783 回答
0

它不是免费的,但对于任何 WPF 图表,我总是会使用 Mindscape 的图表产品WPF Flow Diagrams。产品很棒,支持也很棒。

于 2010-10-01T21:12:07.103 回答
0

您也许可以查看 MS Access 2007 的 MS Office PIA,看看您是否可以找到您正在谈论的查看器...

于 2010-08-23T22:22:33.200 回答
-1

在 Visual Studio 中内置了一个此类查看器,转到工具-> 连接到数据库,然后将其全部连接到数据库。然后,当您在服务器资源管理器上看到数据库时,打开一个表格并查看工具栏中的不同按钮,其中有一个会将表格作为灰色背景上的一个小窗口显示出来。打开该窗口后,您可以将其他表格拖放到灰色区域中,它会向您显示所有关系。

于 2010-08-23T21:53:29.993 回答