2013-05-08 145 views
1

试图插入与空关联的实体的实体,当我有问题..如何阻止实体框架插入关联的实体?

我只是做:

pUser.DogAndUser = null //dogAndUser is the relationship between dog and user 
context.User.Add(pUser) 

但是在这里我得到一个错误,指出外键idDog不存在在桌子狗。 好吧..当然不是..我给它一个空关联。然后我确认它试图插入关联的实体在Dog中插入一行,然后在DogAndUser关系中传递该值..它没有抛出一个错误,并没有在关系中插入一行..但为什么?我没有明确地告诉它这样做..如何才能阻止这种情况的发生?谢谢!

+2

您的外键列在数据库中可以为空吗? – 2013-05-08 13:26:45

+0

不...但仍然...为什么它尝试插入关联的实体?这是一对多的关系 – 2013-05-08 13:29:49

+0

这是因为通过EDMX传递给EF的dB中定义的关系。 – Saravanan 2013-05-08 13:35:00

回答

3

您需要检查几件事来纠正问题。

  1. 数据库中的外键列是否设置为空?
  2. 在你的模型,为外键字段为空的
  3. 在您的协会的性质,是DogUAndUser的结束多重设置为0..1

根据你的描述,这应该纠正你的问题。