Рассматривали ли вы создание ViewModel, которая будет содержать оба этих объекта, и передачу этой ViewModel в ваш View? Вы также можете использовать LINQ для улучшения своих запросов.
(Примечание: я отправляю сообщение с моего телефона, чтобы синтаксис мог быть отключен)
Модель:
public class TaggingModel
{
public string TagList {get; set;}
public PostClass Post {get; set;}
}
public TaggingModel(string tagList, Post post)
{
this.TagList = tagList;
this.YourPost = post;
}
Код (с использованием LINQ):
var post = _db.Posts.Where(pt => pt.PostID == id).Single();
var postTags = post.PostTags.Where(pt => pt.PostID == id);
string tagList = string.Empty;
foreach(var pt in postTags)
{
var tag = _db.Tags.Where(t => t.ID == pt.TagID).Single();
tagList += tag.Name + " ";
}
TaggingModel model = new TaggingModel(tagList, post);
return View(model);
Вы также можете использовать другие методы для отправки сообщения, такие как сохранение их в ViewData, если вы не хотите реализовывать для него модель.