2

我们都熟悉 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. 在字典部分中,我添加新数据源并选择来自业务对象的数据 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

附件 :

http://www.putlocker.com/file/AAD881D281CCF8FB

http://www.smallfiles.org/download/3311/RptTest.rar.html

4

2 回答 2

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

于 2014-09-24T12:47:13.547 回答
0

您应该设置业务对象之间的关系并使用它。

于 2012-12-10T06:33:28.830 回答