我有三张桌子:
Group, Contact and Address
群组
GroupID (pk)
GName
联络
ContactID (pk)
GroupID (fk)
Name
地址
AddressID (pk)
GroupID (fk)
ContactID (fk)
我想跟随使用这三个表:
如何在实体框架中的代码优先方法中解决它?
如何在实体框架中的数据库第一种方法中解决它?
最后;
我在SQL
数据库中创建这些表时遇到问题。我有一个循环依赖错误。
答案 0 :(得分:0)
关于Cyclic依赖,它由于外键到位。因此,您应该首先创建Group
表,然后创建Contact
,最后创建Address
,同样,在删除行时,应该从依赖表开始(包含外部表的那些表)键)
回答你的问题;
首先,由于在其他表中只使用GroupID
,因此您不必关心更新(我认为您不会更新ID!) 。但要删除,您需要首先使用Address table
中的GroupID删除所有行。然后是Contact table
中的所有行。只有这样,您才可以继续删除Group table
。
要删除联系人,您应该首先删除Address table
中带有ContactID的所有行,然后删除Contact table
。
3找到包含您地址的群组;
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'