Subsonic 连接到多个数据库的基于亚音速的应用程序

Subsonic 连接到多个数据库的基于亚音速的应用程序,subsonic,subsonic2.2,Subsonic,Subsonic2.2,我目前开发了一个连接到SQLServer2005数据库的应用程序,所以我的DAL对象是使用数据库中的信息生成的 还可以连接到Oracle和MySQL数据库,所有数据库都具有相同的表结构(除了字段的正常差异,例如SQL Server中的varbinary(max)和Oracle中的BLOB等)。为此,我已经为应用程序将运行的不同DB定义了多个连接字符串和多个亚音速提供程序 我的问题是,如果我使用SQL Server数据库生成对象,那么生成的对象应该与其他数据库透明地工作,还是需要为我使用的每个数据

我目前开发了一个连接到SQLServer2005数据库的应用程序,所以我的DAL对象是使用数据库中的信息生成的

还可以连接到Oracle和MySQL数据库,所有数据库都具有相同的表结构(除了字段的正常差异,例如SQL Server中的varbinary(max)和Oracle中的BLOB等)。为此,我已经为应用程序将运行的不同DB定义了多个连接字符串和多个亚音速提供程序

我的问题是,如果我使用SQL Server数据库生成对象,那么生成的对象应该与其他数据库透明地工作,还是需要为我使用的每个数据库引擎生成不同的DAL?我是否应该知道在执行这些操作时可能遇到的任何错误


提前感谢您对这个问题的任何建议。

顺便说一句,我正在使用亚音速2.2

从我到目前为止的测试来看,我看不到一个简单的方法来实现我想要做的事情

对于我来说,理想的情况是使用SQL Server生成亚音速对象,并且只需在运行时为MySQL及其连接字符串创建正确的提供程序,就可以动态切换到MySQL。我的应用程序可以正确地从SQL Server连接到MySQL数据库,但也有一个应用程序失败的地方,因为亚音速内部生成表单查询

SELECT * FROM dbo.MyTable
MySQL显然不支持。我还注意到,查询中的表名用括号([])括起来,因此似乎有许多因素会限制一个提供者在多个DB引擎中的使用

我想我唯一的其他选择是使用多个生成的提供者进行分类,尽管我必须承认,知道我的项目中将有N个基本相同的类的副本,这让我感到不舒服

如果其他人有类似的经历,我真的很想听听他们的意见。一旦我把所有事情都整理好并为我的项目工作,我一定会发布我的结果

这些在3.0中有没有改变?如果在这件事上生活更轻松的话,这对我来说绝对是一个值得提升的理由