我是SubSonic的忠实粉丝。一个编写良好的批处理/CMD 文件可以在几分钟内为您的数据库生成一个完整的对象模型;您可以将其编译成自己的 DLL 并根据需要使用它。很棒的模型,很棒的工具。该网站使它听起来像一个 ASP.NET 交易,但一般来说,如果您不尝试使用它的 UI 框架(我对此感到有点失望)或它的应用程序级自动生成工具,它几乎可以在任何地方工作.
作为记录,这里是我用来处理它的命令的一个版本(这样你一开始就不必太努力):
sonic.exe generate /server [servername] /db [dbname] /out [outputPathForCSfiles] /generatedNamespace [myNamespace] /useSPs true /removeUnderscores true
每次都会这样做...然后从该目录构建 DLL ——这是 NAnt 项目的一部分,由 CruiseControl.NET 启动——然后我们就走了。我在 WinForms、ASP.NET 甚至一些命令行工具中使用它。这会产生最少的依赖关系和最大的“可移植性”(在相关项目之间,EG)。
笔记
上面的内容现在已经有一年多了。虽然我仍然非常喜欢 SubSonic,但当我有幸在 .NET 3.5 中工作时,我已经转向 LINQ-to-SQL。在 .NET 2.0 中,我仍然使用 SubSonic。所以我的新官方建议是平台版本相关的。如果是 .NET 3+,请选择接受的答案。如果是 .NET 2.0,请使用 SubSonic。