SubSonic 和非默认连接字符串问题

发布于 2024-08-12 08:23:44 字数 802 浏览 4 评论 0原文

我在程序中遇到了错误,因为 SubSonic3 在

SingleOrDefault(ByVal expression As System.Linq.Expressions.Expression(Of System.Func(Of Company.filter, Boolean)), ByVal connectionString As String, ByVal providerName As String)

In Subsonic 源中,Database.cs 第 323 行返回带有默认连接字符串的记录:

instance = Activator.CreateInstance<T>();

我认为这就是我的情况出现问题的原因。它使用默认构造函数创建实例,然后将其作为结果返回,这就是我们丢失自定义连接字符串的地方。

就我个人而言,我通过在 SingleOrDefault 函数中向 ActiveRecord.tt 模板添加 2 行来修复此问题,该函数具有 connectionString 参数:

            single._db=new <#=Namespace#>.<#=DatabaseName#>DB(connectionString, providerName);
            single._repo = new SubSonicRepository<<#=tbl.ClassName#>>(single._db); 

但我认为您应该更深入地检查这个问题,Rob :)

I encountered bug in my programm because of SubSonic3 returns records with default connection string in

SingleOrDefault(ByVal expression As System.Linq.Expressions.Expression(Of System.Func(Of Company.filter, Boolean)), ByVal connectionString As String, ByVal providerName As String)

In Subsonic sources, Database.cs line 323:

instance = Activator.CreateInstance<T>();

I think that was the cause of problem in my case. It creates instance with default constructor and then returns it as a result, that's where we loose custom connection string.

Personally I fixed it with adding 2 lines to ActiveRecord.tt template, in SingleOrDefault function, which has connectionString argument:

            single._db=new <#=Namespace#>.<#=DatabaseName#>DB(connectionString, providerName);
            single._repo = new SubSonicRepository<<#=tbl.ClassName#>>(single._db); 

But I think you should examine this problem deeper, Rob :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无法言说的痛 2024-08-19 08:23:44

我不跟。您指定 ConnectionString 的名称是 Settings.tt - 这就是我们使用的名称。

I don't follow. You specify the name of the ConnectionString is Settings.tt - that's the one we use.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文