【发布时间】:2020-02-11 20:58:23
【问题描述】:
我有以下课程:
public class ExistingProposal
{
public Guid ProposalIdPK { get; set; }
public int StatusCode { get; set; }
public List<ExistingProposalElement> GoldenRecordElements { get; } = new List<ExistingProposalElement>();
}
public class ExistingProposalElement
{
public Guid ProposalElementIdPK { get; set; }
public Guid ProposalIdFK { get; set; } // foreignkey referencing ExistingProposal.ProposalIdPK
}
此类使用现有提案及其元素进行初始化。提案将具有各种状态代码,例如“已接受”、“已拒绝”等。
在创建新提案和元素时,我需要检查是否已经存在包含与新提案相同元素的提案
让我们假设以下情况:
ExistingProposal ExistingProposalElement
1 1
2
3
2 5
6
7
现在需要使用 ID 为 5,6 和 7 的元素创建新提案。我的检查现在需要检测 已经有一个带有这些 ID 的提案。
新的 ProposalElement-ID 包含在一个
List<Guid> newElements
如何检测到已经有一个提案包含与我的列表“newElements”和特定“StatusCode”中包含的相同的 ProposalElement-ID?
我认为它与 Linq “All” 方法或类似方法有关,但我真的坚持使用它,因为我对 Linq 并不是很先进。
任何帮助将不胜感激。
【问题讨论】:
-
您想要元素的精确匹配吗?例如,如果您有一个新的提案 5,6 和 7,您需要匹配还是应该匹配 5 和 6 还是应该匹配 5,6 和 8?你明白了。
-
我需要完全匹配...所以如果现有提案和新提案包含完全相同的 ID,我需要匹配。如果我收到 ID 5,6,7 并且已经有一个元素 ID 为 5,6,7 的现有提案,我需要得到一个真实的示例
标签: c# list linq duplicates microsoft-dynamics