我剛纔看着鉤住我的申請,NHibernate的(功能NHibernate),但我有幾個問題...功能NHibernate沒有查詢數據庫正確
我試圖遵循以人做了什麼,發現了這個:
public class NHibernateSessionPerRequest : IHttpModule
{
private static readonly ISessionFactory _sessionFactory;
static NHibernateSessionPerRequest()
{
_sessionFactory = CreateSessionFactory();
}
public void Init(HttpApplication context)
{
context.BeginRequest += BeginRequest;
context.EndRequest += EndRequest;
}
public static ISession GetCurrentSession()
{
return _sessionFactory.GetCurrentSession();
}
public void Dispose() { }
private static void BeginRequest(object sender, EventArgs e)
{
ISession session = _sessionFactory.OpenSession();
session.BeginTransaction();
CurrentSessionContext.Bind(session);
}
private static void EndRequest(object sender, EventArgs e)
{
ISession session = CurrentSessionContext.Unbind(_sessionFactory);
if (session == null) return;
try
{
session.Transaction.Commit();
}
catch (Exception)
{
session.Transaction.Rollback();
}
finally
{
session.Close();
session.Dispose();
}
}
private static ISessionFactory CreateSessionFactory()
{
string connString = "AV8MediaUser";
FluentConfiguration configuration = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ShowSql().ConnectionString(
x => x.FromConnectionStringWithKey(connString)))
.ExposeConfiguration(
c => c.SetProperty("current_session_context_class", "web"))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Category>());
return configuration.BuildSessionFactory();
}
}
但是,當我穿過它似乎正確地連接到數據庫,但它不運行查詢:
return Session.CreateCriteria<Category>()
.List<Category>();
我做得STUP天真的錯誤?
我試過了,沒有什麼改變: return Session.CreateCriteria().List (); 我也嘗試NHProfiler ...但沒有會話似乎出現時,我運行我的程序...這讓我覺得NHibernateSessionPerRequest代碼包括在原始發佈是不正確的地方... 有一件事,雖然,什麼應該是.Mappings的值(m => m.FluentMappings.AddFromAssemblyOf () –
Gary
2010-07-25 09:24:57