示例#1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext <ApplicationDbContext>(options =>
                                                         options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

            services.AddIdentity <ApplicationUser, IdentityRole>()
            .AddEntityFrameworkStores <ApplicationDbContext>()
            .AddDefaultTokenProviders();

            // Add application services.
            services.AddTransient <IEmailSender, EmailSender>();
            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddSingleton <NHibernateSessionStorage, NHibernateSessionStorage>();
            //services.AddTransient(x => (NHibernate.ISession)x.GetRequiredService<NHibernateSessionStorage>().RetrieveSession());
            services.AddScoped(x => NHibernateConfiguration.CreateAndOpenSession());
            //services.AddTransient<TodoRepository, TodoRepository>();
            services.AddScoped <TransactionAttribute>();

            IEnumerable <Type> repositories = Assembly.GetExecutingAssembly().GetTypes().Where(IsRepository);

            foreach (Type type in repositories)
            {
                services.AddTransient(type, type);
            }

            services.AddMvc(options => { options.UseHtmlEncodeModelBinding(); });
            services.AddSingleton <ITempDataProvider, CookieTempDataProvider>();
            services.AddSession();
            services.AddMemoryCache();
            services.AddDistributedMemoryCache();
            InitializeNHibernate();
        }
示例#2
0
        public RespositoryTestBase()
        {
            NHibernateConfiguration.Init(
                SQLiteConfiguration.Standard.UsingFile("test_GetOrganized"),
                //MsSqlConfiguration.MsSql2008.ConnectionString(
                //builder => builder.Server("localhost").Database("test_GetOrganized").TrustedConnection()),
                RebuildDatabase
                );

            session = NHibernateConfiguration.CreateAndOpenSession();
        }
示例#3
0
        private void OpenCurrent()
        {
            ISession session = NHibernateConfiguration.CreateAndOpenSession();

            context.Items[CURRENT_SESSION_KEY] = session;
        }