NHibernate中使用Equals方法的一个疑问
来源:互联网 发布:热血江湖传进阶数据 编辑:程序博客网 时间:2024/06/05 09:35
我们知道如果我们自己定义的引用类型没有重写Equals方法,那么CLR将会自动调用Object的Equals方法去进行判等。而Object的Equals方法只是进行判断两个引用是否指向同一个对象,如果是,则返回true,否则返回false。但在NHibernate中下面的用法都会返回true。
//加载id为1的UserInfo
UserInfo userInfo = GetUserInfo(1);
//加载所有的UserInfo列表
IList lstUserInfo = GetAllUserList();
//用法1
if(lstUserInfo.Contains(userInfo)) {
return true;
}
//用法2
foreach(UserInfo user in lstUserInfo) {
if(user.Equals(userInfo)) {
return true;
}
}
但我在UserInfo类中并未重写Equals方法,难道是开始加载的userInfo与lstUserInfo中的userInfo指向的是同一个对象,NHibernate究竟是怎么处理的呢?还望有人不吝赐教。
- NHibernate中使用Equals方法的一个疑问
- String equals方法的一些疑问
- indexOf方法的一个疑问
- 关于Java equals()方法的几点疑问
- java中写一个完美equals方法的建议
- Java中编写一个完美的equals方法
- 一个合格的equals方法
- JAVA中equals方法使用
- run()方法的一个疑问【转载】
- 一个疑问 sqlcommand对象的ExecuteReader方法
- python中"_"的一个小小疑问
- 一个canvas中strokeStyle的疑问
- [JAVA]Java中hashCode和equals方法的使用
- JAVA中HashCode和equals方法的使用
- java中equals与hashcode的方法使用
- 讨论equals方法的使用
- OC中方法的一些小疑问
- [PyLucene]使用PyLucene中JVM的疑问
- 从给定网站抓取省市级城市数据
- 莱布尼兹的宏伟计划
- VC6中编译参数设置 (收藏)
- 社会生活中的十二条著名法则
- 生产者-消费者问题
- NHibernate中使用Equals方法的一个疑问
- 在Windows 2003 Server上安装MRTG
- 在存储过程中分页
- 悲苦人生
- 常用字符的7位ASCII值
- win32/win64 assembly programming
- FreeBSD下设置个人开发平台
- 编写Smarty插件使得Smarty成为数据要求型(模板拉数据)模板
- Log4j使用点滴