我有应用程序的数据库规范,它是之前为iOS创建的,并且使用Apple Core Data作为ORM,因此表之间的所有关系都是双向的。
我是否需要在实体框架中执行相同的操作(双向关系,在大多数情况下无法实现),或者我可以只使用典型(一对一,多对一,多对多)许多)关系,它们的工作方式与Apple Core Data中的双向关系相同吗?
答案 0 :(得分:0)
你在推理中犯了一个错误。您将数据库配置与ORM配置混淆。当父表和子表之间存在一对多关系时,子表将保存父表的外键。父表将没有任何与子表相关的字段。
使用Code First定义此关系时,您可以自由地将其实现为:
Public Class Parent
Public Property Id as Integer
Public Overridable Property Children as ICollection(Of Child)
End Class
Public Class Child
Public Property Id as Integer
Public Property ParentId as Integer
Public Overridable Property Parent as Parent
End Class
或者
Public Class Parent
Public Property Id as Integer
End Class
Public Class Child
Public Property Id as Integer
Public Property ParentId as Integer
Public Overridable Property Parent as Parent
End Class
或者
Public Class Parent
Public Property Id as Integer
Public Overridable Property Children as ICollection(Of Child)
End Class
Public Class Child
Public Property Id as Integer
Public Property ParentId as Integer
End Class