【发布时间】:2009-11-23 08:29:03
【问题描述】:
我在我的程序中遇到了错误,因为 SubSonic3 在
中返回带有默认连接字符串的记录SingleOrDefault(ByVal expression As System.Linq.Expressions.Expression(Of System.Func(Of Company.filter, Boolean)), ByVal connectionString As String, ByVal providerName As String)
在 Subsonic 资源中,Database.cs 第 323 行:
instance = Activator.CreateInstance<T>();
我认为这是我的问题的原因。它使用默认构造函数创建实例,然后将其作为结果返回,这就是我们丢失自定义连接字符串的地方。
我个人通过在具有 connectionString 参数的 SingleOrDefault 函数中向 ActiveRecord.tt 模板添加 2 行来修复它:
single._db=new <#=Namespace#>.<#=DatabaseName#>DB(connectionString, providerName);
single._repo = new SubSonicRepository<<#=tbl.ClassName#>>(single._db);
但我认为你应该更深入地研究这个问题,Rob :)
【问题讨论】: