日期:2014-05-20  浏览次数:20847 次

用EFCodeFirst ADD的时候报约束错误
两个实体
class A
{
   Guid id;
   B b
}

class B
{
   Guid id;
   A a;
}

A的配置
HasOptional(m => m.b).WithRequired().WillCascadeOnDelete();

A中有一条数据

现在插入B=new B
{
 A=Arepository.getAll().First()
}

的时候汇报
Message "INSERT 语句与 FOREIGN KEY 约束\"FK_dbo.B_dbo.A_Id\"冲突。该冲突发生于数据库\"EFS_NG-Dev\",表\"dbo.A\", column 'Id'。\r\n语句已终止。" string
这个是什么情况。

我现在去数据库中手动插入,将B表中的A_id 充A表中id复制过来,还是会报错。说A_id在A.id中不存在的约束。

------解决方案--------------------
你这数据库关系设计有问题。