1

我正在评估在我们的业务中使用 SubSonic 3.0 来替代我们的 POCO 对象。我是 SubSonic 的新手,昨天真的安装了它。我已经到了可以使用 3.0 LINQ T4 模板连接到一个数据库的地步,并且被能够使用 SubSonic 在一个应用程序中连接到多个数据库的承诺所吸引。

我的问题是我找不到任何关于如何将 T4 模板与多个数据库一起使用的文档(例如,添加另一个连接字符串、设置 Settings.ttinclude 等)。

我已经在 Google 和 Stackoverflow 上搜索了答案,以了解如何做到这一点,或者是否有可能。任何帮助,将不胜感激。


所以我似乎能够通过向web.config添加另一个connectionString来使其工作,然后为该connectionString添加第二组模板,它可以工作,但它看起来并不“干净”,甚至看起来并不那么干燥我。

通过添加多个 .dbml 文件,我似乎也可以使用 .NET Built in LINQ 做几乎相同的事情。

在这一点上,谁能给我一些推理,为什么我们不应该只使用内置的 LINQ 支持而不是像 SubSonic 这样的第 3 方 ORM?

4

2 回答 2

5

来自亚音速邮件列表的交叉发布:

哦,是的,我一直这样做,诀窍是模板的两个副本(简单)或编辑模板以迭代两组表(更难)。在第二个 settings.tt 中更改连接字符串的名称以反映其他数据库。您可能还想更改命名空间,以免在表名相同的情况下发生冲突。这看起来很老套,但我不认为这是因为它允许您独立更改每个数据库的模板。

如果您真的只想要一组模板,最简单的方法是编辑 SQLServer.tt(或您选择的数据库)并覆盖 LoadTables 的工作方式,以便它接受连接列表而不是单个连接。我不得不说这很痛苦,而且比拥有 2 个文件副本要困难得多。

于 2010-02-24T18:11:16.337 回答
1

(回复您对问题的回答)

在这一点上,谁能给我一些推理,为什么我不应该只使用内置的 LINQ 而不是像 SubSonic 这样的第 3 方 ORM?

立即想到:SubSonic 支持的不仅仅是 Microsoft Sql Server。

于 2010-02-24T17:29:38.393 回答