使用NHibernate过程中 出现的奇怪问题
本人刚接触NHibernate 做了一个小demo 代码如下
C# code
 private void Form1_Load(object sender, EventArgs e)
        {
            Configuration cfg = new Configuration().Configure();
            ISessionFactory Factory = cfg.BuildSessionFactory();
            ISession session = Factory.OpenSession();
            IQuery query = session.CreateQuery("from Login");
            IList<Login> list = query.List<Login>();
            foreach (Login login in list)
            {
                MessageBox.Show(login.Name);
            }
        }
运行 没问题。
接下来的 我将代码小小改动了一下
C# code
public class Nhelp
    {
        public IList<T> Query<T>()
        {
            Configuration cfg = new Configuration().Configure();
            ISessionFactory Factory = cfg.BuildSessionFactory();
            ISession session = Factory.OpenSession();
            IQuery query = session.CreateQuery("from login");
            IList<T> list = query.List<T>();
            return list;
        }
    }
 写了一个 Nhelp 类  
调用
C# code
 private void Form1_Load(object sender, EventArgs e)
        {
            Nhelp help = new Nhelp();
            IList<Login> list = help.Query<Login>();
            foreach (Login login in list)
            {
                MessageBox.Show(login.Name);
            }
        }
只是做了一个简单的封装,运行
在 Nhelp 类的 IQuery query = session.CreateQuery("from login");
出 报错  login is not mapped [from login]
错误代码
未处理 NHibernate.Hql.Ast.ANTLR.QuerySyntaxException
   Message="login is not mapped [from login]"
   Source="NHibernate"
   QueryString="from login"
   StackTrace:
        在 NHibernate.Hql.Ast.ANTLR.SessionFactoryHelperExtensions.RequireClassPersister(String name)
        在 NHibernate.Hql.Ast.ANTLR.Tree.FromElementFactory.AddFromElement()
        在 NHibernate.Hql.Ast.ANTLR.Tree.FromClause.AddFromElement(String path, IASTNode alias)
        在 NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.CreateFromElement(String path, IASTNode pathNode, IASTNode alias, IASTNode propertyFetch)
        在 NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.fromElement()
        在 NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.fromElementList()
        在 NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.fromClause()
        在 NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.unionedQuery()
        在 NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.query()
        在 NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.selectStatement()
        在 NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.statement()
        在 NHibernate.Hql.Ast.ANTLR.HqlSqlTranslator.Translate()
        在 NHibernate.Hql.Ast.ANTLR.QueryTranslatorImpl.Analyze(String collectionRole)
        在 NHibernate.Hql.Ast.ANTLR.QueryTranslatorImpl.DoCompile(IDictionary`2 replacements, Boolean shallow, String collectionRole)
        在 NHibernate.Hql.Ast.ANTLR.QueryTranslatorImpl.Compile(IDictionary`2 replacements, Boolean shallow)
        在 NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(IASTNode ast, String queryIdentifier, String collectionRole, Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory)
        在 NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(String queryString, String collectionRole, Boolean shallow, IDictionary`2 fi