0

在微软的 .NET Framework 对 C#、Visual Basic、F#、PowerShell 等的广泛支持下,我一直想知道为什么没有创建任何类似的数据库开发框架(我一直找不到至少)。

这导致我考虑开发自己的框架,但我不禁想到,如果对这样的东西有很大的需求,那么肯定有人已经开始了这样的项目,无论是商业上的还是开源的项目。

我对技术方面的初步想法是:

  • 该框架将尽可能模仿 Microsoft .NET Framework。就个人而言,我有点偏向于 .NET 和 T-SQL,但我认为通过提供与 .NET 类似的功能也有助于简化新开发人员的学习曲线。
  • 会有某种类型的安装程序可以选择将框架对象部署在单独的专用数据库中,或者将对象包含在另一个数据库的模式中。此外,还可以选择简单地生成脚本来创建对象。
  • 能够选择要安装的对象(类似于 jQuery UI 如何让您在自定义下载包中选择所需的组件)以防止数据库变得臃肿。
  • 支持严格的 ANSI SQL,以及特定于供应商的版本(例如 SQL Server、Oracle、MySQL)。

我想我真正想要的是:

  1. 有没有人遇到过这样的已经开发的东西?
  2. 你有什么相关的见解,为什么这是一个好主意或坏主意,无论是一般来说还是关于我在这里提到的事情?

编辑

基本上,我将框架设想为提供一组通用的辅助函数/过程、计数/数字表等......

一个典型的例子是将日期格式化为可用于 SQL Server 2012 之前版本的字符串的函数(SQL Server 2012 将此作为内置函数引入)。

而且,通过框架,我正在考虑数据库内的开发(即编程函数、存储过程、临时脚本等)与外部交互或连接到数据库(例如 Ling2Sql、ORM )。

4

3 回答 3

1

假设这些对象/帮助器存在于数据库中,而不是某种 .Net 库中,是的,有很多这些数据库帮助器函数四处飘荡,将它们收集到一个一致的库中肯定会有所帮助。

我认为最大的问题是性能。出于性能原因,有时需要使用一些可怕的内联表达式,而不是将其很好地包装到 UDF 中。或者优化您的 SQL 代码可能是有益的,因为您知道某个表有很多行或没有很多行,或者某个字段是否具有选择性。

这与安全问题一起可能意味着您的普通 DBA 不会想要安装您的帮助函数,因为他们不知道性能或安全影响。这与 DBA 不喜欢安装 CLR 函数的思路相同。

但我当然从未遇到过中央可安装的 SQL 辅助函数库,我想你可以看看 Codeplex 或许多其他开源代码库之一,看看是否存在这样的东西。

去吧!

于 2012-11-05T23:11:09.197 回答
0

我不确定您在说什么,但自 2005 年以来 .NET 已集成到 SQL Server 本身中。也许您正在考虑CLR 集成

于 2012-11-05T21:19:25.997 回答
0

您应该调查实体框架lambda 表达式

于 2012-11-05T21:28:18.947 回答