Sco*_*nce 1 subsonic t4 multiple-databases
我正在评估SubSonic 3.0用于我们的业务,以替代我们的POCO对象.我是SubSonic的新手,昨天安装它.我已经到了可以使用3.0 LINQ T4模板连接到一个数据库的地步,并且已经被使用SubSonic能够连接到一个应用程序中的多个数据库的承诺所吸引.
我的问题是我找不到任何关于如何将T4模板与多个数据库一起使用的文档(例如添加另一个连接字符串,设置Settings.ttinclude等).
我搜索了谷歌和Stackoverflow的答案,看看如何做到这一点,或者它是否可行.任何帮助,将不胜感激.
所以我似乎能够通过向web.config添加另一个connectionString来使其工作,然后为该connectionString添加第二组模板,它可以工作,但它看起来并不"干净"甚至真的那么干我.
通过添加多个.dbml文件,似乎我可以使用.NET内置的LINQ做几乎相同的事情.
有人可以给我一些推理,为什么我们不应该只使用内置的LINQ支持而不是像SubSonic这样的第三方ORM?
来自亚音位邮件列表的交叉发布:
哦,是的,我一直这样做,诀窍是两个模板副本(简单)或编辑模板迭代两组表(更难).在第二个settings.tt中,更改连接字符串的名称以反映其他数据库.您可能还希望更改命名空间,以便在表名相同时不会发生冲突.它似乎很hacky但我不认为这是因为它允许您独立地更改每个数据库的模板.
如果你真的只想要一组模板,最简单的方法就是编辑SQLServer.tt(或你选择的数据库)并覆盖LoadTables的工作方式,这样它就会接受一个连接列表而不是一个连接列表.我不得不说这是一个痛苦,它比拥有2个文件副本要困难得多.