2011-07-14 53 views
1

我測試流利NH映射和我有一個問題:測試流利NH映射

代碼:

[TestMethod()] 
     public void FilterMapConstructorTest() 
     { 
      new PersistenceSpecification<Filter>(session) 
     .CheckProperty(c => c.Id, 1) 
     .CheckProperty(c => c.FilterValue, "1") 
     .CheckProperty(c => c.IdAttribute, 1) 
     .CheckProperty(c => c.Type, Filter.FilterType.Equals) 
     .VerifyTheMappings(); 
     } 

德compilator不recognice變量「會話」,我應該聲明這個,或導入任何使用?

感謝您的時間。

問候

回答

0

你需要真正從會話工廠得到一個新的NHibernate會話,然後才能使用它。下面是一個更詳細的例子:

ISessionFactory sessionFactory = Fluently.Configure(normalConfig) 
       .Mappings(m => 
        m.FluentMappings 
        .AddFromAssemblyOf<Filter>()) 
       .ProxyFactoryFactory("NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu") 
       .BuildSessionFactory(); 

using (NHibernate.ISession session = sessionFactory.OpenSession()) 
{ 
     using (NHibernate.ITransaction tran = session.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted)) 
     { 

      new PersistenceSpecification<Filter>(session) 
       .CheckProperty(c => c.Id, 1) 
       .CheckProperty(c => c.FilterValue, "1") 
       .CheckProperty(c => c.IdAttribute, 1) 
       .CheckProperty(c => c.Type, Filter.FilterType.Equals) 
       .VerifyTheMappings(); 

      tran.Rollback(); 
     } 
    } 
+0

謝謝。我要證明它。 – Tarlak