【问题标题】:Why is my model's related data not loading?为什么我的模型的相关数据没有加载?
【发布时间】:2012-07-17 14:28:13
【问题描述】:

我有一个首先使用 EF 4 代码构建的数据库,这里有两个模型:

Public Class HvacAudit
    Public Property HvacAuditID As Integer

    Public Overridable Property HvacAuditPictures As IEnumerable(Of HvacAuditPicture)

    ... other properties
 End Class

Public Class HvacAuditPicture
    Public Property HvacAuditPictureID As Integer

    Public Property HvacAuditID As Integer
    Public Overridable Property HvacAudit As HvacAudit

    ... other properties
End Class

当我从数据库中提取我的 HvacAudit 记录时,它们没有 HvacAuditPictures!即使我直接拉图片,它们也在那里。考虑

context.HvacAudits.Where(Function(hva) hva.HvacAuditID = 1).HvacAuditPictures Is Nothing 'evaluates true

context.HvacAuditPictures.Where(Function(p) p.HvacAuditID = 1).Count() 'is currently 20

这是我的上下文类:

Public Class EfContext
Inherits DbContext
Implements IDataSource

Public Property HvacAudits As IDbSet(Of HvacAudit) Implements IDataSource.HvacAudits
Public Property Vendors As IDbSet(Of Vendor) Implements IDataSource.Vendors
Public Property HvacAuditPictures As IDbSet(Of HvacAuditPicture) Implements IDataSource.HvacAuditPictures
Public Property Sites As IDbSet(Of Site)
Public Property Markets As IDbSet(Of Market)

Public Sub SaveChanges1() Implements Domain.DataSource.IDataSource.SaveChanges
    SaveChanges()
End Sub
End Class

【问题讨论】:

    标签: .net entity-framework-4 ef-code-first


    【解决方案1】:

    找到了答案。关系“多”端的导航属性必须是 ICollection(Of T),而不是 IEnumerable(Of T)

    Public Class HvacAudit
        Public Property HvacAuditID As Integer
    
        Public Overridable Property HvacAuditPictures As ICollection(Of HvacAuditPicture)
    
       ... other properties
    End Class
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      • 2019-12-23
      • 2016-07-19
      • 2018-04-14
      • 2015-01-03
      • 1970-01-01
      相关资源
      最近更新 更多