我想配置ASP.NET MVC 2 RC和Spring .NET 1.3以使用FluentNHibernate。使用Spring.NET和FluentNHibernate配置ASP.NET MVC 2
我设法让FluentNHibernate在控制台应用程序内运行。
目前ASP.NET MVC 2 RC和Spring .NET对我来说工作正常,但我在配置FluentHibernate时遇到了问题。
在问这个问题之前,我搜索了很多,我也浏览了StackOverflow的相关问题。
我知道有这个(http://www.bennymichielsen.be/post/2009/01/04/Using-Fluent-NHibernate-in-SpringNet.aspx)的博客文章和Spring .NET文档ORM章(http://www.springframework.net/doc-latest/reference/html/orm.html)
就像Benny的博客建议我创建“FluentNHibernateLocalSessionFactoryObject”这一类的内容是一样的博客帖子。
我的Spring配置文件看起来像这样:
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net"
xmlns:db="http://www.springframework.net/database"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.net http://www.springframework.net/xsd/spring-objects.xsd">
<object id="MySessionFactory" type="Project.Core.NHinbernate.FluentNHibernateLocalSessionFactoryObject, Spring.Data.NHibernate20">
<property name="DbProvider" ref="DbProvider"/>
<property name="FluentNHibernateMappingAssemblies">
<list>
<value>Project.Core.NHibernate</value>
</list>
</property>
<property name="HibernateProperties">
<dictionary>
<entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
<entry key="hibernate.dialect" value="NHibernate.Dialect.MsSql2008Dialect"/>
<entry key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
</dictionary>
</property>
</object>
<object id="HomeController" singleton="false" type="Project.UI.Controllers.HomeController">
<property name="MySessionFactory" value="MySessionFactory" />
</object>
</objects>
我觉得这个配置中有很多东西丢失(连接字符串,正确的SQL Server 2008方言与DB提供)。
我的目标是简单地将SessionFactory注入到HomeController中。
如果你能指出我的配置文件中应该改变什么,我会非常感激。
非常感谢!
但是Spring.NET的文档说 “这些提供程序的实现没有考虑到NHibernate的用法,NHibernate将SessionFactory的范围限制在每个连接管理的二级缓存中。 – 2010-01-13 07:59:11
我不明白你的问题,你能否给我一个链接到这个声明? – BennyM 2010-01-13 14:56:51