Fluent nhibernate 测试Fluent NH映射

Fluent nhibernate 测试Fluent NH映射,fluent-nhibernate,Fluent Nhibernate,我正在测试一个流畅的NH映射,我有一个问题: 守则: [TestMethod()] public void FilterMapConstructorTest() { new PersistenceSpecification<Filter>(session) .CheckProperty(c => c.Id, 1) .CheckProperty(c => c.FilterValue, "

我正在测试一个流畅的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();
        }
[TestMethod()]
公共无效筛选器MacConstructorTest()
{
新PersistenceSpecification(会话)
.CheckProperty(c=>c.Id,1)
.CheckProperty(c=>c.FilterValue,“1”)
.CheckProperty(c=>c.IdAttribute,1)
.CheckProperty(c=>c.Type,Filter.FilterType.Equals)
.验证应用程序();
}
反编译器不识别变量“session”,我应该声明它,或者使用

谢谢你抽出时间


致以最诚挚的问候

您需要从会话工厂实际获取一个新的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();
        }
    }
ISessionFactory sessionFactory=fluntly.Configure(normalConfig)
.Mappings(m=>
m、 FluentMappings
.AddFromAssemblyOf())
.proxyFactory(“NHibernate.ByteCode.LinFu.proxyFactory,NHibernate.ByteCode.LinFu”)
.BuildSessionFactory();
使用(NHibernate.ISession session=sessionFactory.OpenSession())
{
使用(NHibernate.ITransaction tran=session.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted))
{
新PersistenceSpecification(会话)
.CheckProperty(c=>c.Id,1)
.CheckProperty(c=>c.FilterValue,“1”)
.CheckProperty(c=>c.IdAttribute,1)
.CheckProperty(c=>c.Type,Filter.FilterType.Equals)
.验证应用程序();
事务回滚();
}
}

谢谢。我要证明这一点。