gpt4 book ai didi

c# - C# 中的 SQL 表/ View 设计器

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:08 25 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序需要最终用户对数据库设计进行“一些”定制(超出参数化范围)。

如今,此应用程序支持在运行时使用现有表甚至新表的新列。但最终用户无法更改表,所有设计工作都必须使用 Microsoft SQL Server Magament Studio 完成。

我的问题是:有任何类型的控件(或工具)可以实现此功能吗?我想将它嵌入到我的应用程序中,但如果它是外部工具则不会太糟糕了。

我想要的是一些让用户定义列(名称、类型、大小)存储库的工具,例如:

  • CustomerCode,BIGINT,不适用
  • 客户名称,Varchar,50

然后通过添加这些预定义的列来创建或更改表或 View 。在下面应该执行所需的 SQL 脚本或可能使用 SMO(SQL 管理对象)。

已更新

目前该应用程序可与 WinForms 配合使用,但我们将不胜感激任何 WPF/ASP 解决方案。

我指的最终用户是指应用程序管理员,但不具备编程技能。

目的

目的是能够从自己的应用程序扩展和自定义功能,而无需使用 SQL Server Managment Studio。

假设您有一个 ERP,作为用户,您希望在您的客户表中告知该应用程序并非最初设计的内容,甚至没有可用的字段,例如:GPS 位置、 Logo 、CEO 的照片…… .

当然我可以建议一些高级用户安装 SSMS Express,但这会给他们太多的自由。我也认为它是一个 IT 工具。我想要的是开发从应用程序自己的框架修改应用程序的能力。

如果可以从自己的应用程序完成,则可以执行一些控制:

  • 检查名为 X 的表字段是否始终使用相同的类型定义,
  • 禁用修改不可自定义字段(应用程序字段)的功能,
  • ...

最佳答案

Alex,我认为你应该尽量让用户能够灵活地向数据库中添加新信息,而无需真正改变数据库的设计。

您可以看一下 EAV 模型(实体属性值)。这使您可以灵活地向客户添加任何新属性,而无需更改客户表的设计(例如)。

Magento 就是一个很好的例子,他们在 EAV(实体-属性-值)方面做得很好,但您必须知道这种设计模型会稍微影响您的性能(或很大程度上取决于您的实现方式)。

关于c# - C# 中的 SQL 表/ View 设计器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11831916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com