有很多类似的问题,我在发表这个问题之前做了我的研究。
我有3个表,它有多对多关系。
发布:PostID,PostName
标记:TagId,TagName
PostTag:PostTagID,PostID,TagID
这是控制器中的代码。
public ActionResult List(int page = 1, int record = 10)
{
return View((IEnumerable<Post>)GetPosts(page, record));
}
public IList<Post> GetPosts(int page = 1, int record = 10)
{
var options = new DataLoadOptions();
options.LoadWith<Post>(p => p.PostTags);
options.LoadWith<PostTag>(pt => pt.Tag);
using (var db = new mvc3codesDataContext())
{
db.LoadOptions = options;
return (from p in db.Posts select p).ToList();
}
}
这是我视图文件中的代码。
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.PostID)
</td>
<td>
@Html.DisplayFor(modelItem => item.PostName)
<br />
@foreach (var pt in item.PostTags) -----> this part not working.
{
}
</td>
</tr>
}
它显示了帖子列表,但我不知道如何输出标签。
答案 0 :(得分:0)
在您的示例中,pt是PostTag,而不是Tag本身。在这种情况下,您需要将多 - 多关系更多地视为1-0 .. * - 1。在这种情况下,您将访问pt.Tag.Property。