我正在使用MVC 4和EF代码第一种方法。我有两个简单的对象。这些是他们的POCO课程:
public class Activity
{
//Primitive Properties
[HiddenInput]
public int Id { get; set; }
[Required]
public int LengthInMinutes { get; set; }
public string AdditionalInfo { get; set; }
[Required]
public bool Archive { get; set; }
//Navigation Properties
public virtual User User { get; set; }
public virtual ActivitySet ActivitySet { get; set; }
public virtual ICollection<Company> Companies { get; set; }
public virtual ICollection<Description> Descriptions { get; set; }
}
public class Company
{
//Primitive Properties
[HiddenInput]
public int Id { get; set; }
[Required]
public string Title { get; set; }
[Required]
public bool Archive { get; set; }
//Navigation Properties
public virtual ICollection<Activity> Activities { get; set; }
}
现在,我有使用foreach循环迭代的一般活动列表。在循环时,我想为列表中与活动相关的每个公司写一个名称。这是我提出的代码:
@foreach (Activity a in Model)
{
<p>@a.Companies.Where(d => d.Activities.FirstOrDefault(y => y.Id == a.Id)).Single()</p>
}
不幸的是,当我构建项目时,它给了我编译错误。然后,我如何访问具有多对多关系的元素的详细信息
答案 0 :(得分:0)
你可以这样试试:
@foreach (Activity a in Model)
{
<p>@string.Join(",", a.Companies.Select(c => c.Title))</p>
}
它应该列出以逗号分隔的给定活动的所有公司标题。