【发布时间】:2008-12-19 02:14:52
【问题描述】:
我在使用 NHibernate 时遇到了一个相当奇怪的错误。我在跨线程共享 ISession 时遇到错误,并通过提供我自己的 ADO.NET 连接解决了这个问题,例如:
IDbConnection connection = new SqlConnection(ApplicationConfiguration.ConnectionString);
connection.Open();
ISession session = _sessionFactory.OpenSession(connection);
session.FlushMode = FlushMode.Commit;
return session;
我的应用程序现在可以工作,但所有带有集合的对象都在没有集合的情况下保存在数据库中。例如,假设一辆车有一个轮胎列表。然后我创建一辆车,然后根据数据库中已有的轮胎生成轮胎列表。保存汽车对象只会保存汽车而不是列表!
对我做错了什么有帮助吗?我正在使用 NHibernate 2.0,我确实调用了 Session.Flush() 和 Transaction.Commit()。
干杯。
【问题讨论】:
-
如何将轮胎映射到汽车?
标签: nhibernate ado.net isession