【发布时间】:2010-05-21 21:57:44
【问题描述】:
我已经成功地使用了 NHibernate,但现在我正在尝试迁移到 Fluent NHibernate。我已经创建了所有映射文件并将会话管理器设置为使用 Fluent 配置。然后我运行我的应用程序,它运行成功,但没有返回任何数据。
没有错误或任何迹象表明存在问题,但没有任何运行。
在使用 NHibernate 时,如果我没有将我的 hbm xml 文件设置为嵌入式资源,也会发生同样的事情。这让我想知道我必须将 Map 类设置为什么。现在,它们只是设置为Compile,它们被编译成dll,我可以通过反汇编看到。
有人对这里可能发生的事情有任何想法吗?
谢谢
private ISessionFactory GetSessionFactory()
{
return Fluently.Configure()
.Database(
IfxOdbcConfiguration
.Informix1000
.ConnectionString("Provider=Ifxoledbc.2;Password=mypass;Persist Security Info=True;User ID=myuser;Data Source=mysource")
.Dialect<InformixDialect1000>()
.ProxyFactoryFactory<ProxyFactoryFactory>()
.Driver<OleDbDriver>()
.ShowSql()
)
.Mappings(
x => x.FluentMappings.AddFromAssembly(System.Reflection.Assembly.GetExecutingAssembly())
//.ExportTo("C:\\mappings")
)
.BuildSessionFactory();
}
【问题讨论】:
-
是否对数据库执行了正确的 SQL 语句?日志记录告诉你什么?
-
我没有看到任何正在执行的 sql。我在我的配置中设置了 showsql,但我的控制台中没有显示任何语句。
-
请发布您的会话管理器配置的代码。
-
当你说“没有数据被返回”时,你实际执行的是什么,你期望从哪里返回数据?
-
我想我发现了部分问题 - 我没有将映射类的范围设置为公共。我添加了它,现在我至少收到一条错误消息。
标签: nhibernate fluent-nhibernate