如何检索指向 child 的 parent 的 ID?
How do I retrieve the ID of a parent that points to a child?
VS2013,代码优先 EF6,SQL 数据库,VB
我定义了以下 classes:
Public Class Question
Public Property QuestionID As Integer
Public Property Text As String
Public Property Type As qType
Public Property PossibleAnswers As New List(Of qAnswer)
End Class
Public Class qAnswer
Public Property qAnswerID As Integer
Public Property Text As String
End Class
当我查看在 SQL 服务器中创建的 qAnswer 数据 table 时,我看到:
为了做一些像显示所有答案及其 parent 问题这样简单的事情,我需要检索显然在 table 中的值,但我不明白如何编码。由于它在技术上不是 class 的 属性,所以我不能直接调用它。我如何检索该值?
我想知道检索方式是否适用于源代码(即 VB)和视图代码(即 Razor)。
因为您在 Question
上创建了 属性 到 qAnswer
的导航,Entity Framework 在 qAnswer
上创建了到 Question
的隐式外键存储关系。这会导致您在数据库中看到 Question_QuestionID
属性 table。但是,由于这是一个隐含的 属性,因此无法在代码中直接访问它的值。你有两个选择,你可能想同时做这两个选择。
添加对 qAnswer
的引用 属性。如果您实际上并不明确关心相关的问题 ID,而只是想了解问题本身,那么您可以通过引用 属性 来实现。只需将以下内容添加到 qAnswer
:
Public Property Question As Question
如果你想要 id 本身,那么你需要一个 属性 到 qAnswer
来存储它。类似于:
Public Property QuestionID As Integer
按照惯例,Entity Framework 会将其识别为关系的外键 属性 并相应地使用它。添加此 属性 后,您需要 运行 迁移才能生效。
VS2013,代码优先 EF6,SQL 数据库,VB
我定义了以下 classes:
Public Class Question
Public Property QuestionID As Integer
Public Property Text As String
Public Property Type As qType
Public Property PossibleAnswers As New List(Of qAnswer)
End Class
Public Class qAnswer
Public Property qAnswerID As Integer
Public Property Text As String
End Class
当我查看在 SQL 服务器中创建的 qAnswer 数据 table 时,我看到:
为了做一些像显示所有答案及其 parent 问题这样简单的事情,我需要检索显然在 table 中的值,但我不明白如何编码。由于它在技术上不是 class 的 属性,所以我不能直接调用它。我如何检索该值?
我想知道检索方式是否适用于源代码(即 VB)和视图代码(即 Razor)。
因为您在 Question
上创建了 属性 到 qAnswer
的导航,Entity Framework 在 qAnswer
上创建了到 Question
的隐式外键存储关系。这会导致您在数据库中看到 Question_QuestionID
属性 table。但是,由于这是一个隐含的 属性,因此无法在代码中直接访问它的值。你有两个选择,你可能想同时做这两个选择。
添加对
qAnswer
的引用 属性。如果您实际上并不明确关心相关的问题 ID,而只是想了解问题本身,那么您可以通过引用 属性 来实现。只需将以下内容添加到qAnswer
:Public Property Question As Question
如果你想要 id 本身,那么你需要一个 属性 到
qAnswer
来存储它。类似于:Public Property QuestionID As Integer
按照惯例,Entity Framework 会将其识别为关系的外键 属性 并相应地使用它。添加此 属性 后,您需要 运行 迁移才能生效。