【发布时间】:2015-02-12 20:53:06
【问题描述】:
我对 EF 很陌生,所以这可能很简单。
基本上我想添加多个具有相同主键的子对象,但我不断收到主键违规。
我想知道如何添加包含具有相同主键的子对象的对象列表而不会引发异常。我希望有一种方法可以告诉 Add() 忽略子插入(如果存在)。
我创建了 2 个简单的类来更好地描述这一点。
Public class Race
{
Int Id;
EventType Event;
}
Public class EventType
{
Int Id;
String Description;
}
Var event1 = new EventType();
event1.id = 1
Var event2 = new EventType();
event2.id = 1
Race race1 = new Race();
race1.id = 99;
race1.EventType = event1;
Race race2 = new Race();
race2.id = 100
race2.EventType = event2;
现在在我的 DbContext 中我只想做:
Db.Add(race1);
Db.Add(race2);
SaveChanges();
这会引发主键冲突。
如果我将相同的 EventType 对象分配给两个 Race 实例,它可以正常工作,但实际上我不能这样做,因为该父对象是由数据馈送在外部创建的。
【问题讨论】:
标签: entity-framework