0

我的应用程序有许多包含“Notes”属性的类。我们想创建一个 Notes 类来包含所有链接回每个类中的 NoteId 的注释。我已经放置:

Private ReadOnly _class As New ObservableListSource(Of Class)()

Public Overridable ReadOnly Property Classes As ObservableListSource(Of Class)
    Get
        Return _class
    End Get
End Property

在要绑定到的每个类的新 Notes 类中。然后我放置:

Public Property NoteId() As Guid
Public Overridable Property Note() As Note

在每个要绑定的类中。如果我尝试建立多个关系,EF 不会创建数据库。这似乎是一个多对多的问题,但我不确定接下来要尝试什么。任何帮助,将不胜感激。

4

1 回答 1

0

假设每个实体可以有多个笔记,我认为你不走运。我不认为实体框架或任何其他形式将能够以您描述的方式映射关系。你描述的不是多对多的关系。将数据库关系想象成一条线。有两端。每一端都终止于一个表,或者更具体地说,终止于一个表的主键属性和另一个表的外键属性。您所描述的就像轮子上的辐条,其中一张桌子和许多其他桌子之间只有一个关系。其中单个外键列必须链接到许多其他主键列。您可以强制它工作,但您不会获得任何好的实体框架自动魔术,它通过导航属性拉入注释。

您的选择是:

对可以有注释的每种类型的实体都有一个外键。即在你的笔记类上为每种可以有笔记的实体添加一个导航属性,我不推荐这样做。

或者

每种实体都有一个单独的注释表。即,您将拥有 ANotes、BNotes、CNotes 之类的东西。我会推荐这个,因为我认为它比替代品更干净。

抱歉,希望对您有所帮助

于 2013-01-09T03:07:48.693 回答