时间:2015-08-14 来源:

NHibernate3剖析:Query篇之NHibernate.Linq增强查询【编程语言】

系列引入 NHibernate3.0剖析系列分别从Configuration篇、Mapping篇、Query篇、Session策略篇、应用篇等方面全面揭示NHibernate3.0新特性和应用及其各种应用程序的集成psd切图html,可以快速阅读NHibernate之旅系列文章导航系列入门,团队网页接活如果你已经在用NHibernate了,div切图排版那么请跟上NHibernate3.0剖析系列吧.

立即抓取(EagerFetching) 如果我们不在Mapping文件中对对象关联关系设置Lazy="false",默认是延迟加载的,手机页面切图排版NHibernate3.0提供了四种扩展方法.分别为Fetch及ThenFetch,FetchMany及ThenFetchMany.在查询时,div+css+js切图使用这些方法用于立即加载出关联对象.

//Code Snippets Copyright http://lyj.cnblogs.com/ var x = session.Query<Customer>().Fetch(c => c.Orders).ToList(); 使用Fetch对象立即加载多个关联关系承接网站前端,如果一个对象有多种集合,页面div重构我们可以使用下面方法立即加载多个关联关系.例如Employee对象有Subordinates及Orders集合psd切图html,使用下面方法立即加载出所有Employee对象的Subordinates和Orders集合.

NHibernate专题:http://kb.cnblogs.com/zt/nhibernate/NHibernate官方站点:http://nhforge.org/NHibernate参考文档:http://nhforge.org/doc/nh/en/获取NHibernate地址:http://sourceforge.net/projects/nhibernate/ 增强查询概述 NHibernate.Linq除了提供标准查询运算符外,psd切图htmlNHibernate.Linq还专门提供了NHibernate特有的两个增强查询方法web外包, "true"); 例如下面例子:执行两次相同的查询网页切图制作,Put数目为1,击中数目为1.

//Code Snippets Copyright http://lyj.cnblogs.com/ var q = session.Query<Customer>() .Cacheable().CacheRegion("Test") .CacheMode(CacheMode.Put).ToList(); 实例分析 IStatistics接口提供QueryExecutionCount、QueryCachePutCount、QueryCacheHitCount三个属性用来统计查询缓存执行数目、Put数目、击中数目.

注意NHibernate默认不启用查询缓存,div+css+js切图我们需要额为配置:

//Code Snippets Copyright http://lyj.cnblogs.com/ var x = session.Query<Customer>().ToList(); 使用Fetch立即加载关联关系承接网站前端,例如立即加载所有Customer对象Order集合.

结语 这篇在NHibernate.Linq标准查询的基础上,承接网站前端介绍了NHibernate特有的两个NHibernate.Linq增强查询立即抓取(EagerFetching)和查询缓存(QueryCacheable).下篇继续.

//Code Snippets Copyright http://lyj.cnblogs.com/ var x = session.Query<Customer>() .FetchMany(c => c.Orders) .ThenFetchMany(o => o.OrderLines).ToList(); 查询缓存(QueryCacheable) NHibernate3.0提供了三种扩展方法对查询缓存(QueryCacheable)的支持.

//Code Snippets Copyright http://lyj.cnblogs.com/ [Test] public void QueryCacheable() { SessionFactory.Statistics.Clear(); SessionFactoryImplementor.QueryCache.Clear(); var session = SessionFactory.OpenSession(); //Execution and Put Query var q = session.Query<Customer>().Cacheable().ToList(); //Get Results from QueryCache var q2 = session.Query<Customer>().Cacheable().ToList(); SessionFactory.Statistics.QueryExecutionCount.Should().Be.EqualTo(1); SessionFactory.Statistics.QueryCachePutCount.Should().Be.EqualTo(1); SessionFactory.Statistics.QueryCacheHitCount.Should().Be.EqualTo(1); } 如果使用NHibernate Profiler监视上面的测试psd切图html,可以看到其执行了一条语句,承接网页制作第二条直接使用查询缓存.

//Code Snippets Copyright http://lyj.cnblogs.com/ var x = session.Query<Employee>() .Fetch(e => e.Subordinates) .Fetch(e => e.Orders).ToList(); 使用Fetch及ThenFetch,FetchMany及ThenFetchMany立即加载嵌套关联,web外包例如Customer对象有Order集合网页切图制作,Order集合也有多个OrderLines集合,手机页面切图排版可以使用下面方法全部立即加载出来.

//Code Snippets Copyright http://lyj.cnblogs.com/ var q = session.Query<Customer>().Cacheable().ToList(); 下面Linq查询开启查询缓存div+css+js切图,设置缓存区域和策略.

Cacheable用于开启查询缓存.CacheMode用于设置缓存策略.CacheRegion用于设置缓存区域. 下面NHibernate.Linq查询开启查询缓存,网页重构报价当执行这句查询时承接网站前端,首先从QueryCache里面查询,承接网站前端看看是否存在了psd切图html,存在则直接从QueryCache中获取.

实例分析 关联关系默认是延迟加载的web外包,其Order集合默认是延迟加载的.

版权声明:本文为博主http://www.zuiniusn.com原创文章网页切图制作,未经博主允许不得转载.

点击次数:3485
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日Redis性能测试 【移动开发】2015年06月05日Java---11---多线程的两种创建方式 【综合】2014年12月11日asp.net中FineUploader文件上传组件使用介绍2014年01月29日滑动返回 【编程语言】2015年05月25日Android代码实现APK的下载安装和卸载<2> 【移动开发】2015年03月27日第九周项目4-我的向量类 【编程语言】2015年05月18日sscanf的常见用法【编程语言】2015年04月24日VS2010工程打包发布 【移动开发】2014年12月29日bzoj-4003城池攻占 【移动开发】2015年07月24日javascript点击整页变灰的效果(可做退出效果),2014年01月29日SpringMVC注解——@Scheduled 【编程语言】2015年04月24日iOS开发收入是Android的四倍 ,,2016年06月23日CSS整体布局声明的一些使用技巧2014年01月29日转基因科普从哪里抓起?【移动开发】2015年02月04日Java中的参数传递机制【编程语言】2015年08月14日WPS文字2007制作书法字帖模板2014年01月28日C++经典面试题(五) 【移动开发】2015年06月29日poj(3984)——迷宫问题(输出路径) 【系统运维】2015年07月27日selectsequence.currval时报错ORA-08002:序列XXXX尚未在此进程中定义 【移动开发】2015年07月27日pythonsklearn画ROC曲线 【编程语言】2015年04月24日Howtomcatworks读书笔记十二StandardContext上 【架构设计】2014年11月24日Bootstarp学习(七)网格系统 【移动开发】2015年02月02日后端JSP文件里Java语言如何操作OracleSpatial提供的JGeometry对象2 【数据库】2015年04月13日【机器学习基础】机器学习算法的分类——关于如何选择机器学习算法和适用解决的问题 【系统运维】2014年12月11日py2exeerror:"ImportError:Nomodulenamedhttplib" 【综合】2015年05月11日喜羊羊系列之【初级驱动--模块通信】 【移动开发】2015年05月19日例题6-8树UVa548 【编程语言】2015年04月01日AngularJS自学之路(二)——模块和作用域 【移动开发】2015年04月13日drupal开发简单网站流程 【编程语言】2015年07月13日HDU1848Fibonacciagainandagain(博弈SG运用)2015年02月09日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)