关闭

NHibernate使用入门(四)

标签: NhibernateORM
545人阅读 评论(0) 收藏 举报
分类:

Future()返回IEnumerable<>集合

public class Program
    {
        public static void Main(string[] args)
        {
            NHibernateProfiler.Initialize();

            try
            {
                var configuration = new Configuration()
                    .Configure("NHibernate.config");

                var factory = configuration.BuildSessionFactory();

                using(var s = factory.OpenSession())
                {
                    //Future()与List()的区别在于Future返回的是IEnumerable<>集合,而List()返回的是IList()。
                    var blogs = s.CreateCriteria<Blog>()
                        .Future<Blog>();

                    var last15Posts = s.CreateCriteria<Post>()
                        .AddOrder(Order.Desc("PostedAt"))
                        .SetMaxResults(15)
                        .Future<Post>();

                    //FutureValue()这是一个非常简单的接口,里面就一个泛型的Value属性,也就是说.FutureValue()这个东西只是装载了一个对应查询类型的对象而已。
                    //查询总条数的
                    var commentsCount = s.CreateCriteria<Comment>()
                        .SetProjection(Projections.RowCount())
                        .FutureValue<int>();

                    foreach (var blog in blogs)
                    {
                        Console.WriteLine("Blog: {0}", blog.Title);
                    }

                    foreach (var post in last15Posts)
                    {
                        Console.WriteLine("Post: {0}", post.Title);
                    }

                    Console.WriteLine("Comments Count: {0}", commentsCount.Value);


                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            Console.ReadKey();
            LogManager.Shutdown();
        }
    }

运行结果如图:

这里写图片描述

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Nhibernate系列学习之(一) ORM and Nhibernate入门实例解析

最近框架项目需要,数据层想使用Nhibernate,代替传统的sql语句的写法,更加使用面向对象的思维来维护实体与数据库的这层关系映射(ORM),好在之前接触过Java时学习使用了Hibernate,...
  • lishehe
  • lishehe
  • 2014-08-03 15:29
  • 10754

nhibernate的简单配置与使用

nhibernate配置、IOC注入
  • xiaoguidangjiajia
  • xiaoguidangjiajia
  • 2016-01-07 17:55
  • 1650

Nhibernate在C#上的初级应用

本文档适合初级开发者或者是第一次接触NHibernate框架的朋友,其中NHibernate不是最新的版本,但是一个比较经典的版本 NHibernate 2.1.2,其中用红线标注的部分一定要仔细看,...
  • ss136951345090
  • ss136951345090
  • 2014-11-09 16:05
  • 660

使用VS2015和Nhibernate实现与MySql数据库连接,实现增删改查操作

使用VS2015和Nhibernate简单C#代码实现与MySql数据库连接,实现增删改查操作,不涉及Web。
  • penchaoo
  • penchaoo
  • 2016-05-08 16:16
  • 4021

用好VS2010扩展管理器-NHibernate生成

 S2010已经推出有一段时间了,相比VS2008它确实有很多先进之处,这点想必很多已经开始使用VS2010的人已经感受到了,在这里要介绍的是VS2010的扩展管理器。 打开VS2010之后,...
  • sgear
  • sgear
  • 2014-10-22 17:58
  • 2509

NHibernate使用入门(六)

预加载、延迟加载EagerLoading.cs预加载类: public class EagerLoading { ISessionFactory sessionFactory...
  • WuLex
  • WuLex
  • 2016-09-01 23:57
  • 382

NHibernate使用入门(八)

多对多关联双向映射 *配置文件,相关实体类参考前面*
  • WuLex
  • WuLex
  • 2016-09-02 12:40
  • 439

NHibernate使用入门(七)

多对多关联单向映射相关实体类参考前面Category.hbm.xml映射文件 <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default...
  • WuLex
  • WuLex
  • 2016-09-02 11:18
  • 360

四轴飞行diy全套入门教程(从最基础的开始)

首先声明本人也是菜鸟,此教程就是从一个菜鸟的角度来讲解,现在论坛上的帖子都突然冒很多名词出来,又不成体系,我自己开始学的时候往往一头雾水,相信很多新手也一样。所以在这个帖子里面,我都会把自己遇到的疑惑...
  • J_1234567890
  • J_1234567890
  • 2016-07-07 15:15
  • 7058

NHibernate使用入门(十二)

双向一对多关联映
  • WuLex
  • WuLex
  • 2016-09-03 11:19
  • 347
    个人资料
    • 访问:1192472次
    • 积分:17465
    • 等级:
    • 排名:第648名
    • 原创:315篇
    • 转载:845篇
    • 译文:123篇
    • 评论:289条
    博客专栏
    文章分类
    打赏
    如果你觉得我的文章对您有用,请随意打赏。 微信 支付宝