关于这种情况几乎有很多问题,但我无法用这个帮助解决我的问题。我的模型看起来像这样
public class Tag
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Post> Posts { get; set; }
}
public class Post
{
public int Id { get; set; }
public ICollection<Tag> Tags { get; set; }
}
我在dbcontext中配置了实体,如下所示
modelBuilder.Entity<Post>()
.HasMany<Tag>(t => t.Tags)
.WithMany(m => m.Posts)
.Map(mp =>
{
mp.ToTable("PostToTag");
mp.MapLeftKey("PostId");
mp.MapRightKey("TagId");
});
当我运行以下查询时,我可以阅读postid,甚至我可以读取相关的TagId但Tag的Name属性始终为空,它永远不会加载标签名称
var posts = db.Posts
.Include(t => t.Tags)
.ToList();
我简化了代码,这两个实体在构造函数中都有HashSet,并且还尝试了延迟加载开/关但没有成功。