嘿 StackOverflow 朋友,我有一种情况,我希望能够缓存一些 nhibernate 实体,很可能是通过缓存查询。我试图找出在 MVC 4 项目中构建它的最佳方法。我的 NHibernate 层位于一个单独的层中,我将 Windsor 用于我的 DI。
我希望能够做到以下几点。比如说我在数据库中有一个 UserTypes 表,PK 是一个 GUID/唯一标识符。我希望能够执行 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
}
});