我们都熟悉3层编程 我正在尝试使用DTO编程3层作为简单的概念,并使用Stimul创建测试报告 但是在去的路上遇到了麻烦 我写了以下两个简单的类
http://uimg.in/images/2012/11/02/L6eHl.png
为了检索一些数据,使用静态类和下面的数据(非常简单和常见)
http://uimg.in/images/2012/11/02/9sVIb.png
在我的测试报告中,我需要获得大学本土学生的信息以实现这个目标我使用了非常简单的linq join,如下所示
http://uimg.in/images/2012/11/02/yvmJk.png
现在所有事情都是正确的,“list”变量返回正确的数据
http://uimg.in/images/2012/11/02/7owOj.png
现在让我们开始创建我的报告 1.在字典部分,我添加NEW DATA SOURCE并从Business Objects中选择Data 2.添加学生& “Common.dll”中的大学课程 3.将学生拖放到页面作为表
http://uimg.in/images/2012/11/02/HGSy.png
但我的问题是这样的: 为什么两个专栏(学院名称 - 教授姓名)有重复记录? 我如何纠正记录?!
http://uimg.in/images/2012/11/02/opy1Y.png
任何人都可以修改和更正我的附件吗?!
我认为StimulSoft应该是一种解决问题的方法 我没有看到代码有问题! 似乎linq没有问题 如果刺激可以接受多个数据源,我的问题就会解决 当我将表数据源更改为学生时,学生数据正确但大学数据是重复的 当我将表数据源更改为大学时,大学数据正确但学生数据重复!!!
http://uimg.in/images/2012/11/02/laSnz.png
附件:
答案 0 :(得分:0)
您应该在业务对象之间设置关系并使用它。
答案 1 :(得分:0)
你应该在你的选择查询中使用distinct 并且你也可以使用lambda表达式来区分你的模型
list = list.orderby(item => item.CollegeName).select(grp => grp.first()).tolist();
or for more column
list = list.orderby(item => item.CollegeName).ThenBY(item2 => item2.ProfName)select(grp => grp.first()).tolist();
希望做得好 Mahdi Ghafoorian