Nhibernate 对view 查询的几种方法
来源:互联网 发布:谷歌浏览器安全吗 知乎 编辑:程序博客网 时间:2024/06/08 16:15
第一种方法: 写view的类,写hbm.xml映射文件. 对无主键的view的查询要注意:你要用复合主键,不能随便指定一个有重复数据的列,不然你取n条数据时总会取到n条这个值的第一条数据. 要么你就改视图,让它有一个列是唯一主键.
hbm.xml复合主键的写法
<composite-id>
<key-property name="OID" type="string"></key-property>
<key-property name="Product" type="string"></key-property>
<key-property name="SizeDesc" type="string"></key-property>
</composite-id>
用了复合主键之后view的类要重写兩个方法,不然会出現composite-id class must override Equals()的错误
public override bool Equals(object obj)
{
if (obj is GoodsInView)
{
GoodsInView giv = obj as GoodsInView;
if (this.OID == giv.OID && this.Product == giv.Product && this.SizeDesc == giv.SizeDesc)
return true;
else
return false;
}
return false;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
---------------------------
第2种方法
只写view的类,不写hbm.xml文件
用SQL查询,再转成List<T>
string sql = "select * from GoodsInView";
using (ISession session = NHibernateHelper.OpenSession())
{
return ToList<GoodsInView>(
session.CreateSQLQuery(sql)
.List());
}
hbm.xml复合主键的写法
<composite-id>
<key-property name="OID" type="string"></key-property>
<key-property name="Product" type="string"></key-property>
<key-property name="SizeDesc" type="string"></key-property>
</composite-id>
用了复合主键之后view的类要重写兩个方法,不然会出現composite-id class must override Equals()的错误
public override bool Equals(object obj)
{
if (obj is GoodsInView)
{
GoodsInView giv = obj as GoodsInView;
if (this.OID == giv.OID && this.Product == giv.Product && this.SizeDesc == giv.SizeDesc)
return true;
else
return false;
}
return false;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
---------------------------
第2种方法
只写view的类,不写hbm.xml文件
用SQL查询,再转成List<T>
string sql = "select * from GoodsInView";
using (ISession session = NHibernateHelper.OpenSession())
{
return ToList<GoodsInView>(
session.CreateSQLQuery(sql)
.List());
}
0 0
- Nhibernate 对view 查询的几种方法
- NHibernate的几种查询方式
- NHibernate 中删除数据的几种方法
- 总结NHibernate 中删除数据的几种方法
- inflate获取view 的几种方法
- 自定义View的几种方法
- 实现View 滑动的几种方法
- android view滑动的几种方法
- 实现view滑动的几种方法
- 对Dataset 进行查询的几中方法。
- 数据库查询的几种方法
- 几种查询表结构的方法
- C#执行查询的几种方法
- 几种查询linux内核的方法
- SQL查询重复的几种方法
- mysql模糊查询的几种方法
- 多表查询的几种方法
- 找对像的几种方法
- UI笔记_UIPageControl
- linux/unix man用法
- 刚接触开发板之烧写裸板程序
- C++ Primer Plus第六版 第四章 编程练习答案
- linux c++之互斥变量和条件变量
- Nhibernate 对view 查询的几种方法
- 刚接触开发板之重烧珍整个系统
- Java基础——Statement与PrepareStatement
- 【测试折腾】NVR底层模拟鼠标控制测试驱动
- 【收集】解决自动化测试中那些难以实现的交互
- 纠错《COM技术内幕》之ProgID
- mac png 转换批处理命令
- NYOJ266 字符串逆序输出
- 4个基本子空间