【发布时间】:2018-11-13 17:31:13
【问题描述】:
我有一个应用程序,用户在其中输入用于查询数据库并返回匹配行的搜索词。我想找到这样重复的行:
File Tool Product Time1 MeasureTime Row
319 S32 AX 11/13 1:12AM 11/13 5:02am 5
318 S32 AX 11/13 1:12AM 11/13 4:41am 5
在这些情况下,具有较高文件 ID 的条目可能是错误的重新测量,因此我希望能够向用户突出显示这一点。
如果有重复的行,我有这段代码:
var duplicates = db2.AsEnumerable()
.GroupBy(r => new
{
Tool = r.Field<string>("Tool"),
Product = r.Field<string>("Product"),
Time1 = r.Field<DateTime>("Time1"),
Row = r.Field<Int32>("Row")
}).Select(g => new {
Tool = g.Key.Tool,
Product = g.Key.Product,
Time1 = g.Key.Time1,
Row = g.Key.Row,
Count = g.Count() }).ToList();
这将返回一个通用列表,我希望能够从中获取计数并将其添加回初始数据表 db2。然后,当用户选择计数大于 1 的行时,我可以提醒用户。我只想在用户选择更高的文件编号时发出警报,因此我可能需要通过排名来执行此操作,但无论哪种方式,我怎样才能将我拥有的内容添加回原始表格?
【问题讨论】:
-
是什么让行重复?只是工具和产品名称?
-
工具、产品、time1(关闭工具的时间)和行。
-
我很困惑,为什么要将它“添加回”到原始表中,它不是已经存在了吗?
-
我想将计数(或排名)添加回初始表,以便当用户选择一行时,我可以识别潜在问题。在用户选择要打开的行时,我不想查看它是否与另一行匹配工具/产品/时间/行。
-
用户执行的操作是否需要连接回初始表?选择一行后会发生什么?