gpt4 book ai didi

mysql - NHibernate:已经有一个与此连接关联的打开的 DataReader,必须先将其关闭

转载 作者:行者123 更新时间:2023-11-29 00:52:05 25 4
gpt4 key购买 nike

我在 NHibernate 从 MySQL 数据库加载数据时遇到问题。当我运行此代码时(这是唯一一次创建 NHibernate session ),它会在第一个 } 处抛出异常。异常(exception)情况是:

“已经有一个与此连接关联的打开的 DataReader,必须先将其关闭。”

我不知道为什么会这样?

   // ----snip----

var sessionFactory = NHibernateSessionHelper.CreateSessionFactory();
using (var session = sessionFactory.OpenSession())
{
using (session.BeginTransaction())
{
_timeRecords = session
.CreateQuery(
"select tr from TimeRecord as tr where tr.Billable = true and tr.InvoiceDate is null and tr.CheckedOn is not null")
.Enumerable<TimeRecord>();
} // Exception is thrown here
}

// ----snip----

class NHibernateSessionHelper
{
public static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(
MySQLConfiguration
.Standard.ConnectionString(c => c
.Server("db01.redknot.nl")
.Database("todo_youngguns_nl")
.Username("youngguns.nl")
.Password(""))
.ShowSql()
)
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<UserMap>())
.BuildSessionFactory();
}
}

最佳答案

.Enumerable<>()打开 Datareader 并在处理事务尝试发送回滚时保持打开状态。当数据读取器打开时,MySQL 提供程序无法使用连接。

关于mysql - NHibernate:已经有一个与此连接关联的打开的 DataReader,必须先将其关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8093149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com