【问题标题】:Entity Framework 5, Code First Lazy Loading Not Working实体框架 5,代码优先延迟加载不起作用
【发布时间】:2012-12-18 18:00:18
【问题描述】:

我正在尝试了解 EF,但遇到了障碍,我正在使用简单的博客/帖子结构并创建了类,例如:

''' <summary>
''' Represents a blog in the database
''' </summary>
''' <remarks></remarks>
Public Class Blog
    Public Property BlogID As Integer
    Public Property Name As String

    ''' <summary>
    ''' All posts in this blog
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property BlogPosts As List(Of BlogPost)
End Class

现在如果我这样做

    Using db As New DBContext
        _blog = db.Blogs.
            FirstOrDefault(Function(m) m.BlogID = BlogID)

        Dim _posts = _blog.BlogPosts.First
    End Using

我在 BlogPosts 上得到一个空引用异常,这不是延迟加载。

现在我可以使用 .Include 强制它工作,但这会破坏对象。

我发现的所有 c# 示例都在 BlogPosts 属性中声明了“虚拟”,我不知道 VB 版本会是什么?例如:

public virtual ICollection<BlogPosts> BlogPosts { get; set; } 

【问题讨论】:

    标签: .net vb.net entity-framework


    【解决方案1】:

    使属性 Overridable 对其进行排序

    【讨论】:

      【解决方案2】:

      使用overrides关键字,如@9​​87654321@所示。

      这应该可以解决问题。

      【讨论】:

        猜你喜欢
        • 2020-12-11
        • 2012-07-13
        • 2012-03-24
        • 2011-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多