我创建了一个类来表示复合主键模型,如下所示:
它基本上代表了一起构成主键的列的名称/值,以及此组合所属的行号;最初在电子表格中。然后我将此模型放入列表中,并使用电子表格中的数据填充它:
我想检查primaryKeysList并查看它是否有任何重复的值,如果有,我想知道这些值重复的行号。
我尝试了不同的方法,比如将这个列表加载到HashSet、字典中,并使用this solution here at this link,但都没有成功。有没有什么办法可以解决这个问题。
谢谢。
更新 - 这里是一个样本数据显示。UniqueColumnsModel与PrimaryKeyModel相同;我在这里进行了更改,以使其更清晰。
public class PrimaryKeyModel
{
public string ColumnName { get; set; }
public string ColumnValue { get; set; }
public int RowNumber { get; set; } // always unique
}
它基本上代表了一起构成主键的列的名称/值,以及此组合所属的行号;最初在电子表格中。然后我将此模型放入列表中,并使用电子表格中的数据填充它:
List<PrimaryKeyModel> primaryKeysList = new List<PrimaryKeyModel>;
我想检查primaryKeysList并查看它是否有任何重复的值,如果有,我想知道这些值重复的行号。
我尝试了不同的方法,比如将这个列表加载到HashSet、字典中,并使用this solution here at this link,但都没有成功。有没有什么办法可以解决这个问题。
谢谢。
更新 - 这里是一个样本数据显示。UniqueColumnsModel与PrimaryKeyModel相同;我在这里进行了更改,以使其更清晰。
编辑:澄清问题
我正在尝试从电子表格中导入数据(可以有多种类型:销售、报价等),并将其导入数据库。数据库中的配置表确定了电子表格中哪些列将构成目标表中的主键。我的任务是创建一个例程,在使用我的应用程序上传(导入)电子表格数据之前验证它。我想验证设置为主键组合的列不包含任何重复数据,以便在插入时在目标表中不违反主键约束。
此处提到的列表(PrimaryKeyModel)包含电子表格中列的名称(与其他列一起构成主键)、电子表格中列的值以及该值存在的电子表格行号。该列表通过foreach row / foreach column 循环进行填充。因此,我希望这更好地阐述了问题。
ColumnName
和ColumnValue
的项目”? - D Stanley