Live

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
今天下来NHibernate1.0.2.0,参照Examples自己写写。
dll引用,配置文件,映射类,映射文件都OK。
主要代码如下:
 1Configuration cfg = new Configuration();
 2cfg.AddAssembly("NhibernateTest");
 3
 4ISessionFactory factory = cfg.BuildSessionFactory();
 5ISession session = factory.OpenSession();
 6ITransaction transaction = session.BeginTransaction();
 7
 8User newUser = new User();
 9newUser.Id = 1;
10newUser.UserName = "nicole";
11newUser.Password = "abc123";
12session.Save(newUser);
13transaction.Commit();
14session.Close();
执行到第12行代出错: Unknown entity class: NhibernateTest.User
好像是没有映射好。
将第二行的代码换成:
cfg.AddXmlFile("NhibernateTest.User.hbm.xml");
就可以了。换成:
cfg.AddClass(typeof(User));
也不行,错误为:Resource: NhibernateTest.User.hbm.xml not found。“NhibernateTest.User.hbm.xml ”文件放在bin下或者项目根目录都没用。
文档说AddAssembly会把所有.hbm.xml文件都加载,为什么不行?
AddClass方法的话是在什么地方寻找相对于的.hbm.xml文件呢?
posted on 2006-03-21 16:53  一唯  阅读(1680)  评论(3)    收藏  举报