Почти по этому сценарию есть много вопросов, но я не смог решить мою проблему с этой помощью. Мои модели выглядят так
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, но свойство Name тега всегда пусто, оно никогда не загружается с именем тега
var posts = db.Posts
.Include(t => t.Tags)
.ToList();
Я упростил код, у обоих объектов есть HashSet в конструкторе, а также попытка отложенной загрузки вкл / выкл, но безуспешно.