列出与特定比较标准的比较?

时间:2015-11-17 09:22:41

标签: c# .net

我有以下3个班级:

public class RuleSet
{
    public int Id { get; set; }

    public int SiteId { get; set; }

    public List<RuleInstance> RuleInstances { get; set; }

    public RuleSetType RuleSetType { get; set; } // RuleSetType is an ENUM
}

public class RuleInstance
{
    public int Id { get; set; }

    public int RuleSetId { get; set; }

    [ForeignKey("RuleSetId")]
    public RuleSet RuleSet { get; set; }

    public int RuleId { get; set; }

    [ForeignKey("RuleId")]
    public Rule Rule { get; set; }

    public string RuleValue { get; set; }

    public Guid RuleGroupId { get; set; }
}

public class Rule
{
    public int Id { get; set; }

    public string Name { get; set; }

    public ModuleType ModuleType { get; set; } // ModuleType is an ENUM
}

我的查询会返回特定RuleSetsRuleInstances的所有Rules(包含相关SiteId&amp; RuleSetType)的列表。< / p>

我的第一个RuleSets列表适用于RuleSetType'Foo',我的第二个RuleSets列表适用于RuleSetType'栏'(适用于相同的SiteId)。< / p>

我想要做的是能够比较这两个列表,并识别两个列表中出现的任何RuleSets,但比较需要仅基于每个RuleSets对象中的某些属性。< / p>

我希望能够在比较中使用的关键标准是:

必须匹配

  • RuleSet.RuleInstance(s).RuleId
  • RuleSet.RuleInstance(S).RuleValue

忽略(因为它们不会相同)

  • RuleSet.Id
  • RuleSet.RuleSetType
  • RuleSet.RuleInstance(S).ID
  • RuleSet.RuleInstance(S).RuleSetId
  • RuleSet.RuleInstance(S).RuleGroupId

最终,我想最终得到一些包含每对匹配规则集的集合(尽管基于上面突出显示的'必须匹配'属性'匹配'),所以我可以看看每个配对反过来,基于其他一些业务逻辑,我可以决定我真正想要使用哪两个规则集。

0 个答案:

没有答案