从abluedog的NHibernate step and step 文章开始学习NHibernate,在第一篇Hello Word篇自己就遇到了很多问题,可能是自己对NHibernate了解的太少,自己查了很多资料,才一一得以解决.现在把问题列举出来,希望可以帮助初学者快速解决问题.如果有什么问题,请大家指正
abluedog的文章地址: http://www.cnblogs.com/abluedog/archive/2006/04/15/375862.html
上面也有一些问题解决方案,可能下面的问题和文章中的问题会有些重复.
1.使用的NHibernate的版本问题,修改Version= 1.0.5000.0 版本号 为你所使用的版本号
2. 还是和版本有关系的地方,<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"> 修改2.0为目前的版本
ERROR: Test.Model.Person.hbm.xml(2,2): XML validation error: 未能找到元素“urn:nhibernate-mapping-2.0:hibernate-mapping”的架构信息。
3. 如果你使用的是2.2版本.类的属性一定要为virtual属性
4. 如果遇到ERROR: "Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' or one of its dependencies. 系统找不到指定的文件。":"log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821",请把log4net.dll拷贝到bin目录下
就调试下面这么小段程序,费了我两个小时的时间
Configuration config = new Configuration();
config.AddAssembly("Test.Model");
ISessionFactory factory = config.BuildSessionFactory();
ISession session = factory.OpenSession();
Person person = new Person();
person.Name = "IrishCoffee";
try
{
session.Save(person);
Console.WriteLine("Insert Success!");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}