我想知道我正在尝试做的事情是否可以使用 Entity Framework (5)。简单来说,我有 2 节课
public class Value
{
public int Id {get; set;}
public int Content {get; set;}
public virtual ICollection<Constraint> Constraints {get; set;}
}
public class Constraint
{
public int Id {get; set;}
public string Name {get; set;}
public string Type {get; set;}
}
在我的业务逻辑中,如果这对(名称,类型)相似,我会考虑两个相似的约束。在代码中的某处,我将约束与值相关联,例如:
Value v1 = new Value() { Content = 42 };
Constraint c1 = new Constraint() {Name = "A", Type = "B" };
v1.Constraints.Add(c1);
Value v2 = new Value() { Content = 43 };
Constraint c2 = new Constraint() {Name = "A", Type = "B" };
v2.Constraints.Add(c2);
然后,我有负责在数据库中插入值的持久层的另一部分:
ValueRepository.Insert(v1);
ValueRepository.Insert(v2);
对夫妇(名称,类型)的“约束”表具有唯一约束,我想避免在插入 c2 时出现插入错误。我如何告诉 EF 将 c2 视为与 c1 相同?
PS:我不能使用约束存储库来实例化约束实体。