ling 的select 操作1 ,看了2天nhibernate的官方网站,基本方法测试了。等有空把nhibernate的源码下拉研究下

View Code

using System;
using System.Linq;
using NHibernate.Transform;
using NUnit.Framework;
using NetworkMonitor.DAL.Business.Model;namespace NetworkMonitor.NunitTest.DAlTets
{public class MyUser{public string 姓名 { set; get; }public string 密码 { set; get; }public int Tj { set; get; }public DateTime MaxDate { set; get; }}[TestFixture]public class 数据库操作LingSelect{private readonly NetworkMonitor.DAL.Core.MyServiceFactory _service = NetworkMonitor.DAL.Core.MyServiceFactory.Instance;#region 获取一个字段[Test]public void Select操作(){var bb = _service.GetTbUserService.Dao();var list1 =bb.SessionFactory.GetSession().QueryOver<TbUser>().Select(c => c.UserName).List<string>();foreach (var str in list1){System.Console.WriteLine(str.ToString());}}#endregion#region 获取几个字段[Test]public void select获取对象到零时list(){var bb = _service.GetTbUserService.Dao();var list2 =bb.SessionFactory.GetSession().QueryOver<TbUser>().//1.设置查询
            Select(c => c.UserName,c => c.LoginPWD).List<object[]>()//2.设置查询结果
                .Select(pro => new{姓名 = (string)pro[0],密码 = (string)pro[1]});foreach (var str in list2){System.Console.WriteLine(str.姓名);System.Console.WriteLine(str.密码);}}#endregion#region 获取几个字段--到对象[Test]public void select获取到对象(){var bb = _service.GetTbUserService.Dao();var list3 =bb.SessionFactory.GetSession().QueryOver<TbUser>().//1.设置查询
            Select(c => c.UserName,c => c.LoginPWD).List<object[]>()//2.设置查询结果到对象
                .Select(pro => new MyUser(){姓名 = (string)pro[0],密码 = (string)pro[1]});foreach (var str in list3){System.Console.WriteLine(str.姓名);System.Console.WriteLine(str.密码);}}#endregion#region 组合测组合select到objectList[Test]public void 测组合select到objectList(){var bb = _service.GetTbUserService.Dao();var list =bb.SessionFactory.GetSession().QueryOver<TbUser>().SelectList(//指定选择字段ar => ar.Select(c => c.UserName) //ar.Select(c => c.GroupName)报错和group有冲突//指定条件字段.SelectCount(c => c.Id)//统计
.SelectGroup(c => c.UserName )//group 这里一定要主意前面select可以group
.SelectMax(c => c.Createdate)//
).List<object[]>();foreach (var ob in list){//顺序就是你自己select的顺序string username = (string) ob[0];int tj = (int) ob[1];string username2 = (string)ob[2];DateTime max = (DateTime) ob[3];System.Console.WriteLine("uname ={0}, tj={1} gpuname={2} maxD = {3}",username,tj,username2,max);}}#endregion#region 测组合select到指定对象List[Test]public void 测组合select到指定对象List(){var bb = _service.GetTbUserService.Dao();MyUser myUser = null;var list =bb.SessionFactory.GetSession().QueryOver<TbUser>().SelectList(//指定选择字段ar => ar//.Select(c => c.UserName).WithAlias(()=>myUser.姓名)//指定条件字段.SelectCount(c => c.Id).WithAlias(()=>myUser.Tj)//统计 结合group 使用
.SelectGroup(c => c.UserName).WithAlias(()=>myUser.姓名)//group
.SelectMax(c => c.Createdate).WithAlias(()=>myUser.MaxDate)//
).TransformUsing(Transformers.AliasToBean<MyUser>()).List<MyUser>();foreach (var user in list){Console.WriteLine("uname ={0}, tj={1} gpuname={2} maxD = {3}",user.姓名,user.Tj,user.姓名,user.MaxDate);}}#endregion}
}

转载于:https://www.cnblogs.com/loswing/archive/2012/04/28/2475514.html

nhibernate3 linq的的select 操作相关推荐

  1. Linq to SQL -- Select、Distinct和Count、Sum、Min、Max、Avg

    Select/Distinct操作符 适用场景:o(∩_∩)o- 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也 ...

  2. LINQ语句之Select/Distinct和Count/Sum/Min/Max/Avg

    Select/Distinct操作符 适用场景 :查询. 说明 :和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也就是结果返回回来 ...

  3. html表格联动,html前端基础:table和select操作

    html前端基础:table和select操作 发布时间:2020-05-13 09:58:10 来源:亿速云 阅读:196 作者:Leah 这篇文章主要为大家详细介绍html前端基础中有关table ...

  4. golang基础-chan的select操作、定时器操作、超时控制、goroutine中使用recover

    chan的只读和只写 a.只读chan的声明 Var 变量的名字 <-chan int Var readChan <- chan int b. 只写chan的声明 Var 变量的名字 ch ...

  5. 自动化测试之键盘操作和select操作

    键盘操作 from selenium import webdriver from selenium.webdriver.common.keys import Keysdriver=webdriver. ...

  6. jQuery对select操作(2)

    jQuery对select操作 (2009-04-02 18:46:03) 转载 标签: jquery select option 获取 自定义 属性 it 分类: javascript //遍历op ...

  7. oracle数据库内核,深入内核:Oracle数据库里SELECT操作Hang解析

    崔华,网名 dbsnake Oracle ACE Director,ACOUG 核心专家 编辑手记:感谢崔华授权我们独家转载其精品文章,也欢迎大家向"Oracle"社区投稿. 我们 ...

  8. 【LINQ】Linq to SQL -- Select语句

    简介 # 作用:查询 # 说明:和SQL命令中的select作用相似,但位置不同.查询表达式中的select及所接句子是放在表达式最后,并把句子中的变量也就是结果返回回来:延迟. # 9种形式:Sel ...

  9. 035——VUE中表单控件处理之使用vue控制select操作文字栏目列表

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

最新文章

  1. mysql 导出中间 数据_MYSQL数据库之间的数据导出与导入
  2. echart x轴标签偏移_移动端H5页面滑动手势X轴实例
  3. 《Asp.Net 2.0 揭秘》读书笔记(八)
  4. python条件语句-Python3 条件控制
  5. Linux字符模式下的“远程桌面共享”及屏幕录制
  6. 不满足于汽车制造,丰田展示仿钢铁侠机器支撑腿架
  7. python 批量打印文档_使用python将Excel数据填充Word模板并生成Word
  8. h5移动端局部放大效果
  9. 深度学习论文TOP10,2019一季度研究进展大盘点
  10. WOW超大规模场景资源管理方法的尝试
  11. 描述java泛型引入原则_Java/泛型的类型擦除/README.md · oslo/LearningNotes - Gitee.com
  12. Hyper-V云解决方案-IT产业新变革
  13. android实现按键找图功能,从零学起之安卓篇《按键精灵安卓版找图找色应用汇总介绍》更新20140603 _ 教程中心 - 按键精灵论坛...
  14. 安卓第三方登录之微信登录(图文详解)
  15. 电动车电池bms电池管理系统 锂电池算法SOC代码 获取锂电池SOC采用的是电流积分法,电化学阻抗法
  16. switch语句及其嵌套
  17. 【Android容器组件—LinearLayout】
  18. 系统安装时出现 \EFI\BOOT\mmx64.sfi -Not Found
  19. 软件项目外包的合作流程是怎样的?
  20. 【gitee报用户名和密码错误[session-694cc0ab] chenbingxin: Incorrect username or password (access token)】

热门文章

  1. php函数知识点,php入门学习知识点七 PHP函数的基本应用_php基础
  2. Linux内核如何管理内存
  3. 计组-CISC和RISC的基本概念
  4. Intel Optane(tm) Memory Pinning 无法加载DLL“iaStorAfsServiceApi.dll“:找不到指定模块。(异常来自HRESULT:0x8007007E)
  5. linux大端小端命令,linux的大小端、网络字节序问题
  6. js reduce实现中间件_MapReduce 模型
  7. mysql show slave_Mysql复制 show slave status
  8. MySQL双主(主主)架构方案
  9. meta标签的使用方法(PC端)
  10. UITableView性能优化与卡顿