我是初学者,我有 3 个实体:成员、帖子、评论。一个成员有很多帖子,一个帖子有很多评论。
public class Member
{
[Key]
public int Id{get;set;}
public string Name{get;set;}
public virtual ICollection<Post> Posts { get; set; }
}
public class Post
{
[Key]
public int PostId{get;set;}
public string Subject{get;set;}
public int AccountId{get;set;}
public virtual Member member{get;set;}
public ICollection<Comment> Comments { get; set; }
}
public class Comment
{
[Key]
public int CommentId{get;set;}
public string Body{get;set;}
public int PostId { get; set; }
public virtual Post post { get; set; }
}
这是在我的上下文中定义的关系:
modelBuilder.Entity<Post>()
.HasRequired(c=>c.member)
.WithMany(t=>t.Posts)
.HasForeignKey(d=>d.AccountId);
modelBuilder.Entity<Comment>()
.HasRequired(c => c.post)
.WithMany(t => t.Comments);
.HasForeignKey(d=>d.AccountId);
我使用 asp.net mvc。表和关系都可以,但是在详细信息视图的 Post 控制器中:
@model sishan.Models.Friend
.
.
.
@foreach (var item in Model.Comments)
{
<p> @item.Body</p>
}
我收到此错误:对象引用未设置为对象的实例。
我没有任何语法错误。
请帮我。对不起我的英语不好。