1

私はEFコードファーストアプローチでMVC 4を使用しています。2 つの単純なオブジェクトがあります。これらは彼らの 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>
}

残念ながら、プロジェクトをビルドするとコンパイル エラーが発生します。多対多の関係を持つ要素の詳細にアクセスするにはどうすればよいですか

4

1 に答える 1

0

次のように試すことができます。

@foreach (Activity a in Model)
{
    <p>@string.Join(",", a.Companies.Select(c => c.Title))</p>
}

コンマで区切られた特定の活動のすべての会社名のリストを提供する必要があります。

于 2012-11-28T17:41:34.777 に答える