Asp.net mvc 3 在fluent nhibernate中使用filterdefinition时出现名为exception的重复筛选器定义
我是fluent hibernate新手,在尝试创建过滤器时遇到异常 我找到了这个 这解释了如何创建一个流畅的过滤器,直到我尝试运行我的应用程序。我得到一个例外(见下文)。我的代码与上面的链接相同。下面是导致异常的代码。如果我只为映射(例如HotelMap)添加1个程序集,那么问题就会消失,当我添加2个或更多程序集时,就会出现异常 任何想法都会被感激的Asp.net mvc 3 在fluent nhibernate中使用filterdefinition时出现名为exception的重复筛选器定义,asp.net-mvc-3,fluent-nhibernate,Asp.net Mvc 3,Fluent Nhibernate,我是fluent hibernate新手,在尝试创建过滤器时遇到异常 我找到了这个 这解释了如何创建一个流畅的过滤器,直到我尝试运行我的应用程序。我得到一个例外(见下文)。我的代码与上面的链接相同。下面是导致异常的代码。如果我只为映射(例如HotelMap)添加1个程序集,那么问题就会消失,当我添加2个或更多程序集时,就会出现异常 任何想法都会被感激的 private static ISessionFactory BuildSessionFactory() { var c
private static ISessionFactory BuildSessionFactory()
{
var connectionString = DatabaseConnectionStringsFactory.GetConnectionString(DatabaseConnectionStringsFactory.DEFAULT);
try
{
var session = Fluently.Configure()
.Database(
MsSqlConfiguration.MsSql2008.
ConnectionString(connectionString).
AdoNetBatchSize(50)
)
.Mappings(m => m.FluentMappings.Add(typeof(CultureFilter.PonyConditionFilter)))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<AgentMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<HotelMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<RoomMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SeasonMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<BookingsMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<CustomerMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<PriceMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<GroupRoomsMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<PermissionsToBooking>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Address>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Owner>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<BookingCancelledBy>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<RelatedBookings>())
.ExposeConfiguration(c =>c.SetProperty("current_session_context_class", "thread_static"))
.BuildSessionFactory();
session.OpenSession().EnableFilter("PonyConditionFilter").SetParameter("condition", false);
return session;
}
catch (Exception e)
{
throw e;
}
}
如果所有映射都位于同一个程序集中,则只需为每个程序集添加一个AddFromAssembly行 Fluent NHibernate将扫描整个程序集以查找映射并添加它们 请尝试以下方法:
var session = Fluently.Configure()
.Database(
MsSqlConfiguration.MsSql2008.
ConnectionString(connectionString).
AdoNetBatchSize(50)
)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<AgentMap>())
.ExposeConfiguration(c =>c.SetProperty("current_session_context_class", "thread_static"))
.BuildSessionFactory();
var session=fluntly.Configure()
.数据库(
MsSqlConfiguration.MsSql2008。
ConnectionString(ConnectionString)。
ADONbatchSize(50)
)
.Mappings(m=>m.FluentMappings.AddFromAssemblyOf())
.ExposeConfiguration(c=>c.SetProperty(“当前会话上下文类”、“线程静态”))
.BuildSessionFactory();
var session = Fluently.Configure()
.Database(
MsSqlConfiguration.MsSql2008.
ConnectionString(connectionString).
AdoNetBatchSize(50)
)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<AgentMap>())
.ExposeConfiguration(c =>c.SetProperty("current_session_context_class", "thread_static"))
.BuildSessionFactory();