【问题标题】:.NET Library for programmatically generating SQL objects.NET 库,用于以编程方式生成 SQL 对象
【发布时间】:2011-07-03 23:06:01
【问题描述】:

我正在寻找一个 .NET 库,用于针对 SQL 2008 数据库以编程方式生成表、存储过程、视图和关系。除了原始 ADO.NET,我还有哪些选择?

【问题讨论】:

  • 这是一个非常通用的要求,我不确定“库”可以为您提供什么,而不是通过 ado.net 传递命令。您究竟在寻找图书馆做什么?
  • 它将由什么创建?用户输入、ERD、类结构?

标签: .net sql sql-server-2008 ado.net create-table


【解决方案1】:

SQL Server Management Objects (SMO) 随 SQL Server 一起提供。

【讨论】:

  • 一个很好的答案,但我认为他正在寻找更多包含表生成的 ORM。
  • 真的吗?我不确定,Chris Lively 已经让他把问题说得更清楚了。而此时,其他两个答案(都建议 ORM)已被否决(我没有这样做:-)
  • 而且,我的意思是……当然 ORM 可以创建表和东西,但我不知道有一个 ORM 可以创建存储过程。据我所知,大多数 ORM 可以从头开始创建一次数据库。但是当它已经存在并且充满数据时,是否真的可以告诉 ORM,例如“保持整个数据库不变,但添加一个新表和一个新视图”?到目前为止,我只使用过 Nhibernate,而且我从未尝试过使用“创建数据库”的东西,因为我一直在使用现有的数据库。
【解决方案2】:

看来,您正在寻找一些 ORM 之王... 这里有一些链接

WCF RIA 服务:http://www.silverlight.net/getstarted/riaservices/

NHibernate:http://community.jboss.org/wiki/NHibernateForNET

还有许多商业产品提供此类功能。

【讨论】:

  • 其中哪些将实际创建存储过程、数据库关系和/或表......你知道,OP 要求的东西。
  • 好的,创建数据库对象并不是 ORM 应该做的 :-) 我猜这个问题还不够清楚。
【解决方案3】:

很难说出你在问什么,所以我会根据我所掌握的信息尽我所能回答。

我个人会使用对象关系映射框架,例如NHibernate

这将为您创建一个环境,使您可以轻松地以抽象的方式使用数据库,让您有更多时间专注于应用程序的其他部分。

为了回答您关于创建数据库表等的问题,DataObjects.NET 似乎提供了一些听起来符合您想要的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 2010-12-14
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多