c# - 如何在 Windows 窗体/WPF 中为数据库 View (带连接)创建编辑器?

标签 c# sql winforms

在 WPF/WinForms 中为数据库中的某些数据创建快速编辑器的最简单方法是什么,其中数据由 SQL Server 数据库中的 View 表示?

假设我有一个表 Person { id int, name nvarchar(max), GenderID int, CityID int},其中 GenderID 和 CityID 是对表 Gender 和 City 的引用。在编辑器中,Person 将显示为名称的文本框、性别的组合框(从 Gender 表中选择性别的名称),城市列也是如此。

有什么简单的方法可以让一些控制/代码生成这个吗?如果我只想选择数据,则 WinForms DataGridView 或 WPF DataGrid 可以为每个属性生成一列,并为集合中的每个对象显示一行。 -

如果关系是由外键定义的,是否有某种类似的魔术控制可以对数据库 View 执行此操作?

在我看来,成千上万的开发人员都面临过这种问题 - 快速创建一个 GUI 来编辑与其他表有关系的数据库行,因此应该有某种普遍接受的解决方案。或者每个人都在代码中这样做?或者,如果有其他语言的工具,不是 C#,也不是 Windows 窗体——比如 dBase。

最佳答案

您描述的是网络开发中所谓的脚手架。脚手架是一种为数据库中的每个表自动生成 UI 的方法。脚手架让您可以创建一个功能性 UI,用于根据数据模式查看和编辑数据。以下是 WPF 脚手架的一些资源。

  1. 代码项目网站上有一篇 WPF 脚手架文章:WPF CRUD Generator (Scaffolding)
  2. 还有一个可能有用的 Codeplex 项目:WPF Scaffolder

尽情享受吧!

关于c# - 如何在 Windows 窗体/WPF 中为数据库 View (带连接)创建编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10581047/

相关文章:

c# - 如何在我的安装项目中嵌入横幅图像和/或添加删除程序图标?

c# - 在两种语言通用的 Java 和 C# 中生成 key

php - ionic 2 : marge details with same values

sql - 带内部连接的SQLite Where子句

c# - PDF 格式的希伯来语文本

c# - .NET反射的 "cost"是什么?

c# - Linq 将许多表的结果转换为具有嵌套类的继承类

c# - 如何加入数据并与另一个访问数据库进行比较

c# - 参数类型 'object' 不可分配给参数类型 'System.Windows.Forms.Control

c# - C# 中的多线程 - 更新标签