【问题标题】:Are there any good .Net libraries for building arbitrary sql commands? Not relational data是否有任何好的 .Net 库可用于构建任意 sql 命令?不是关系数据
【发布时间】:2010-05-10 19:48:05
【问题描述】:

我正在寻找一些采用 TextWriter 方法编写 SQL 命令的库(很像 .Net 中用于编写 html 的 HtmlTextWriter)。我不是在为关系数据编写 CRUD 类型的命令,而是在编写任意 SQL(批量插入、表创建、创建备份等)。任何建议表示赞赏。

【问题讨论】:

    标签: c# .net sql vb.net


    【解决方案1】:

    我不知道。过去我自己也考虑过这个问题,并考虑过写一个,但决定反对它,因为我认为除了编写一个普通的 SQL 字符串之外,它并没有真正提供太多价值。显然,缺点是更难阅读代码并弄清楚正在构造什么 SQL。

    XML 和 HTML 的嵌套层次比(典型的)SQL 查询要深得多。它们还具有更规则的结构。这就是为什么有一个类来跟踪该结构是有意义的。在 SQL 中做同样的事情可能会使代码复杂而不是简化。

    【讨论】:

    • 说得好。我认为您对使 SQL 复杂化的库不仅仅是帮助您编写它是正确的。
    【解决方案2】:

    看看这个:CodeSmith。我不会说这是最好的,但那些使用过它的人(不是我个人)对此非常积极:

    http://www.codesmithtools.com/

    【讨论】:

    • 很酷的建议,我会考虑使用它。
    【解决方案3】:

    如果您使用 SQL Server,请查看RedGate 软件,因为他们有一系列工具可以帮助您管理 SQL Server 数据库。我使用 SSMS 插件来帮助您编写 SQL 语句,然后以一致的方式对其进行格式化。它提供了智能感知,可以更快地编写 SQL。他们还为 Microsoft SQL Server 提供了一系列其他出色的生产力工具。

    另外,Linq 可能是一个替代方案,它在 SQL 和 .net 编程之间创造了良好的交叉。

    【讨论】:

      【解决方案4】:

      恐怕编写任意 SQL(批量插入、创建表、创建备份等)在很大程度上取决于 Db 及其提供的工具。

      例如,创建备份使用完全任意的语法,与表创建语法无关。

      我不确定您要查找什么,但我认为 T-SQL(如果您使用的是 MS SQL 服务器)是您所需要的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-27
        • 2013-04-16
        • 2017-06-16
        • 2011-06-14
        • 1970-01-01
        • 2010-09-30
        • 2021-06-18
        相关资源
        最近更新 更多