currentsessioncontext fluent nhibernate как это сделать?

Я пытаюсь свободно использовать сеанс для каждого запроса. Я следую "рецепту" из поваренной книги nhibernate, однако он использует файл конфигурации nhibernate.

Я не уверен, что лучше, но сейчас я придерживаюсь свободной конфигурации только потому, что я не знаю, как настроить файл конфигурации nhibernate для использования свободного сопоставления и vanilla nhibernate отображение (файлы hbm).

namespace Demo.WebUI
{
    public class MvcApplication : NinjectHttpApplication
    {
        public static ISessionFactory SessionFactory { get; private set; }

        protected override void OnApplicationStarted()
        {
            SessionFactory = Fluently.Configure()
                .Database(MsSqlConfiguration.MsSql2008.ConnectionString(
                    c => c.FromConnectionStringWithKey("test")))
                .Mappings(m => m.FluentMappings
                    .AddFromAssemblyOf
                     <Demo.Framework.Data.NhibernateMapping.UserMap>())
                .ExposeConfiguration(BuidSchema)
                .BuildSessionFactory();
        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            var session = SessionFactory.OpenSession();
            //CurrentSessionContext.Bind(session);
        }

        protected void Application_EndRequest(object sender, EventArgs e)
        {
            //var session = CurrentSessionContext.Unbind(SessionFactory);
            SessionFactory.Dispose();
        }
    }
}

Как вы можете видеть в Begin_Request, учебник по книгам имел

CurrentSessionContext.Bind(session);

Однако, если я использую это, он выдает ошибку, поскольку у меня нет используемого конфигурационного файла nhibernate.

Итак, как мне изменить его, чтобы использовать плавную конфигурацию? Или мне даже не нужно делать этот шаг? (Т.е. выполняется ли это внутренне?)

8
задан Diego Mijelshon 16 January 2011 в 01:19
поделиться