我的Person.hbm.xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" default-access="property">
<class name="Demo.Person, Demo" table="tb_person">
<id name="PerID" column="per_id" type="Int64" unsaved-value="0" >
<generator class="assigned"/>
</id>
<bag name="MailList" table="tb_mail" access="nosetter.pascalcase-m-underscore" inverse="true" cascade="all" lazy="true">
<key column="per_id"/>
<one-to-many class="Demo.Mail,Demo"/>
</bag>
我的Person类:
namespace Demo
{
public class Person
{
private long perID;
private List<Mail> mailList;
public Int64 PerID
{
get { return perID; }
set { perID = value; }
}
public List<Mail> MailList
{
get { return mailList; }
set { mailList = value; }
}
}
}
我的测试类:
namespace DemoTest
{
[TestFixture]
public class PersonTest
{
[Test]
public void GetAllPersonTest()
{
PersonDao peronDao = new PersonDao();
List<Person> list = peronDao.GetAll();
Assert.IsNotNull(list, "人员为空");
Assert.AreEqual(0, list.Count, "人员数等于0");
Console.WriteLine("人员数等于{0}", list.Count.ToString());
}
}
}
Nunit的错误信息:
DemoTest.PersonTest.GetAllPersonTest : NHibernate.PropertyNotFoundException : Could not find field 'm_MailList' in class 'Demo.Person'我的问题:为什么在使用泛型时,其他基本类型没问题,可以测试通过,但是List类型的属性MailList在Nuit测试下会发生错误:'m_MailList' ,请问怎样解决这个问题?先谢谢了。
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" default-access="property">
<class name="Demo.Person, Demo" table="tb_person">
<id name="PerID" column="per_id" type="Int64" unsaved-value="0" >
<generator class="assigned"/>
</id>
<bag name="MailList" table="tb_mail" access="nosetter.pascalcase-m-underscore" inverse="true" cascade="all" lazy="true">
<key column="per_id"/>
<one-to-many class="Demo.Mail,Demo"/>
</bag>
我的Person类:
namespace Demo
{
public class Person
{
private long perID;
private List<Mail> mailList;
public Int64 PerID
{
get { return perID; }
set { perID = value; }
}
public List<Mail> MailList
{
get { return mailList; }
set { mailList = value; }
}
}
}
我的测试类:
namespace DemoTest
{
[TestFixture]
public class PersonTest
{
[Test]
public void GetAllPersonTest()
{
PersonDao peronDao = new PersonDao();
List<Person> list = peronDao.GetAll();
Assert.IsNotNull(list, "人员为空");
Assert.AreEqual(0, list.Count, "人员数等于0");
Console.WriteLine("人员数等于{0}", list.Count.ToString());
}
}
}
Nunit的错误信息:
DemoTest.PersonTest.GetAllPersonTest : NHibernate.PropertyNotFoundException : Could not find field 'm_MailList' in class 'Demo.Person'我的问题:为什么在使用泛型时,其他基本类型没问题,可以测试通过,但是List类型的属性MailList在Nuit测试下会发生错误:'m_MailList' ,请问怎样解决这个问题?先谢谢了。
解决方案 »
- 关于编码解码的问题,请高人指点
- 字段中包含括号,该怎么写才能不出错?
- 有人做过MSN MessagerPlus!的插件么?
- 使用 datagrid 有无人遇到跟我相同状况
- 求教C++Dll的调用错误 关于pinvokestackimbalance
- 高分请大家想想这奇怪的问题,C/S的运行程序,调用公司公布的WEB服务,在客户那安装运行正常,都是通过WEB服务连到我们公司的数据库,在
- 多线程同步等待 导致主界面UI卡顿,求解~~~
- 关于C#连接Oracle 判断输入数据是否在数据库已经存在的问题
- 是不是我的.net有问题啊?应该怎么设置
- gridcontrol 导出excel 格式自定义
- C#返回功能的代码是什么?
- 如何在C#中显示单位m3/h(注:3在m的上方)
http://www.codeproject.com/aspnet/NHibernateBestPractices.asp
里面的用到的范型是第三方的一个范型类: EntityList<T>
这个类你可以在
http://www.ayende.com/projects/nhibernate-query-analyzer/downloads.aspx
下。