使用NHibernate时需要考虑的另一个问题

自从系统使用NHibernate后,开发一直比较顺利,直到开始做报表部分才发现有问题了:NHibernate如何与现有的报表组件集成?
昨天我写了一篇《关于crystal report和NHibernate应用的一个问题》,其中提到了Crystal Report 不能直接与NHibernate的 查询结果直接绑定的问题(刚刚试过了ActiveReport for .net也不行),从目前的情况来看,只有两种途径来解决:
1、封装报表控件,在其中编写Arraylist到DataTable的转换方法,从而实现数据的绑定;
2、在报表部分,不使用NHibernate,直接使用ADO.net。

第一种方法,肯定会影响到系统的效率,特别是需要使用Reflection来得到Entity的属性值。而第二种方法,则完全避开了NHibernate,不是我们的初衷(业务层面的一些工作又需要用ADO.net实现一遍)。

综合考虑,我们目前暂时采用第二种方式,不能哪位朋友有更好的建议?

这段时间比较关心NH的朋友越来越多了, 但很少有人将其运用到系统中,其在实用中可能会遇到各式各样的问题,希望这篇文章能够起到抛砖引玉的效果,使NH的应用不断的深入下去。

posted on   wljcan  阅读(9665)  评论(34编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通

导航

< 2005年5月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4
5 6 7 8 9 10 11
点击右上角即可分享
微信分享提示