私は 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 で null 参照例外が発生しました。これは遅延読み込みではありません。
これで、.Include を使用して強制的に動作させることができますが、それではオブジェクトが無効になります。
私が見つけたすべての c# の例では、BlogPosts プロパティが "Virtual" で宣言されていますが、その VB バージョンが何であるかわかりません。例えば:
public virtual ICollection<BlogPosts> BlogPosts { get; set; }