我是EF4的新手,我试图从多对多关系中插入一条记录。我得到3个表:实体框架4 - 插入多对多
- A(ID,说明)
- B(ID,码)
- AB(AID,BID)< --a和B关系
问题当我调用SaveChanges()时,它会抛出一个异常,它试图向B中插入一条新记录。我不希望这样,它应该只是添加链接。这里是我的代码:
var a = new A(){Description="Example"};
var b = context.B.Single(B => B.ID == paramID);
a.B.Add(b);
context.A.AddObject(a);
context.SaveChanges() <---- here it throws the exception
从我的研究,上面的代码应该和一个新的记录,以A和创建A和B之间的链接,并将其存储在AB表,对不对?
我错过了什么?
编辑:
这是我收到的例外:
无法将NULL值插入列 'MIC',表 'dbo.B';列不允许有空值。 INSERT失败。\ r \ n声明已终止。
如果你注意到,我只是想添加多对多的链接而不是在表B中创建一条新记录。我甚至试图让a.B留空,它仍然抛出上面描述的异常。
异常类型和消息似乎与此问题有关... – driis