Sql mvc代码优先方法中的循环依赖
我有三张桌子:Sql mvc代码优先方法中的循环依赖,sql,entity-framework,entity-framework-migrations,Sql,Entity Framework,Entity Framework Migrations,我有三张桌子: Group, Contact and Address ContactID (pk) GroupID (fk) Name 集团 GroupID (pk) GName ContactID (pk)
Group, Contact and Address
ContactID (pk)
GroupID (fk)
Name
集团
GroupID (pk)
GName
ContactID (pk)
GroupID (fk)
Name
联系方式
ContactID (pk)
GroupID (fk)
Name
地址
ContactID (pk)
GroupID (fk)
Name
AddressID (pk)
GroupID (fk)
ContactID (fk)
我想使用以下三个表执行以下操作:
Group, Contact and Address
ContactID (pk)
GroupID (fk)
Name
ContactID (pk)
GroupID (fk)
Name
如何在实体框架中以数据库优先的方式解决它
ContactID (pk)
GroupID (fk)
Name
最后,
ContactID (pk)
GroupID (fk)
Name
我在
SQL
数据库中创建这些表时遇到问题。我有一个循环依赖错误 关于循环依赖,其原因是外键就位。因此,您应该首先创建组
表,然后创建联系人
,最后创建地址
,同样,删除行时,您应该从从属表(包含外键的表)开始
ContactID (pk)
GroupID (fk)
Name
回答你们的问题
ContactID (pk)
GroupID (fk)
Name
GroupID
,因此您不必关心更新(我认为您不会更新ID!)。但要删除,首先需要使用地址表中的GroupID删除所有行。然后是联系人表中的所有行
。只有这样,才能继续删除组表中的行
ContactID (pk)
GroupID (fk)
Name
地址表
中包含联系人ID的所有行,然后删除联系人表
ContactID (pk)
GroupID (fk)
Name
3查找包含您地址的组
ContactID (pk)
GroupID (fk)
Name
Select G.GroupId, G.GName
From Group as G
Left outer join Address A
on A.GroupID = G.GroupID
Where A.AddressID = 'Your Address ID'