报表设计

  最近,公司在做一个系统的转换工作,将一个老系统,转换到Nhibernate + Linq的架构下来,现在,到了报表的转换了,以前老系统,报表全部是用存储过程来实现的,而现在,新的架构下,客户要求不要用存储过程了,要用Linq,实在是个难题的?因为,在老系统中,用存储过程,有个好处,就是:如果报表有BUG了,或者要修改什么的,增加新报表的,我们仅仅只要在存储过程上下点功夫,就可以了,不用重新发布项目的;但是如果要用Linq,来实现的,就麻烦了,每次修改,增加报表的,还得重新编译发布的。的确让人头痛了,后来项目组开个会,讨论下,得出了两个解决方案的。

1.使用XML做为数据源的,每次修改XML文件。也就是将原来的存储过程关系放到XML文件中,然后,代码只要解析这个XML文件,生成个Linq语句就可以了。

 但是我们现在担心的是,复杂的存储过程,转为XML,难度可能不小。

2.将报表业务,提取出来,单独作为一个工程,以后每次修改发布的只要编译发布这个工程就可以了。我们打算采用WCF,在主应用程序,只要配置一个方法,去调用WCF的,例如ID,然后,根据这个ID,来判断是要调用哪个报表的,这样也能实现功能。这个WCF,所有的业务也就使用Linq来实现了。

这个方案能否被采纳看领导了的。。。还有其他好的方案吗?

posted on 2009-11-01 21:35  大鱼,大禹  阅读(168)  评论(0编辑  收藏  举报

导航