2012-09-01 82 views
0

嘿StackOverflow的朋友, 我有一種情況,我希望能夠緩存一些nhibernate實體,很可能通過緩存查詢的手段。我試圖找出在MVC 4項目中構建這個最佳方法。我的NHibernate層位於一個單獨的層中,並且我正在使用Windsor作爲我的DI。在運行時緩存Nhibernate實體

我希望能夠做到以下幾點。比如說我在數據庫中有一個UserTypes表,PK是一個GUID/uniqueidentifier。我希望能夠做一個Session.Load(guid),而不是每次需要這些數據時都要付錢。

這是一些代碼。我不喜歡這樣的GUID的硬編碼。我想我可以的東西在web.config的GUID,但我想在一些情況下,改變更多的東西自動,

nhsession.Save(new User 
          { 
           UserType = nhsession.Load<UserType>(Guid.Parse("BE4A74B1-5B21-4109-AD69-A0AF00FC879F")), 
           UserSetting = nhsession.Load<UserSetting>(Guid.Parse("CB0B2053-E173-408D-A991-A09B00E45330")), 
           UserName = userDto.UserName, 
           Password = hash, 
           Salt = salt, 
           IsLockedOut = 0, 
           InvalidLoginAttempts = 0, 
           ActivationCode = activationCode, 
           Active = active, 
           LastLoginDate = DateTime.Now, 
           DateCreated = DateTime.Now, 
           LastUpdated = DateTime.Now, 
           Profile = new Profile 
              { 
               EmailAddress = userDto.UserName, 
               Active = 1, 
               DateCreated = DateTime.Now, 
               LastUpdated = DateTime.Now 
              } 
          }); 

回答