【发布时间】:2016-11-09 00:23:04
【问题描述】:
我有一个模型:
public class MyModel
{
public int GridX { get; set; }
public int GridY { get; set; }
}
用户将从 Excel 工作表中上传一个类似于以下内容的列表:
GridX GridY
1 3
1 2
1 4
2 2
2 1
2 1
我目前上传了 excel 表,并遍历行以创建一个列表,然后我将其保存到数据库中。
我必须能够捕获重复的行,例如最后 2 行具有相同坐标 (2,1)。
我知道对于一个列表,我可以执行以下操作:
var hasDuplicates = MyList.GroupBy(x => x.num).Any(x => x.Count() > 1);
如果列表中有重复项,则 hasDuplicate 将为真。如果有需要比较的对,我不确定如何执行此操作。每组坐标应该是一个组,但不确定如何按一组进行分组。我可以在 sql 中做到这一点,但可惜我必须在它到达 db 之前捕获它。
【问题讨论】:
-
您可以覆盖 MyModel.Equals 方法。