0

私はEF4 CTP5を理解しようとしています。Member と MemberGroup という多対多の関係を持つ 2 つのクラスがあります。CTP5 コード 最初に 2 つのテーブル (Member と MemberGroups) が生成され、2 つの列 (MemberGroupId と MemberId) を持つ MemberGroupMembers という名前の 3 番目のテーブルも生成されました。いくつかのメンバーとメンバー グループを使用してデータベースをシードしました。問題は、メンバーに 1 つ以上の MemberGroups を割り当てる方法が見つからないことです。これにより、メンバーが割り当てられている各 MemberGroup の MemberGroupMembers テーブルに行が挿入されます。

    public class Member
{
    public int Id { get; set; }

    public Guid SecureId { get; set; }

    public DateTime JoinedOn { get; set; }

    public virtual ICollection<MemberGroup> MemberGroups { get; set; }
}

public class MemberGroup
{
    public int Id { get; set; }

    public string Name { get; set; }

    public DateTime CreatedOn { get; set; }

    public virtual ICollection<Member> Members { get; set; }
}

public class CTP5testContext : DbContext
{
    public CTP5testContext() : base("CTP5test") { }

    public DbSet<Member> Members { get; set; }

    public DbSet<MemberGroup> MemberGroups { get; set; }
}

public class CTP5testContextInitializer : DropCreateDatabaseIfModelChanges<CTP5testContext>
{
    protected override void Seed(CTP5testContext context)
    {
        new List<Member>
        {
            new Member
            {
                Id = 1,
                SecureId = Guid.NewGuid(),
                JoinedOn = DateTime.Now
            }
            ,
            new Member
            {
                Id = 2,
                SecureId = Guid.NewGuid(),
                JoinedOn = DateTime.Now
            }
        }.ForEach(m => context.Members.Add(m));

        var memberGroup = new MemberGroup()
        {
            Id = 1,
            Name = "MemberGroup 1",
            CreatedOn = DateTime.Now
        };

        context.MemberGroups.Add(memberGroup);

        // How can I assign Member 1 to MemberGroup 1 ?????

        context.SaveChanges();
    }
}

私がここで何をしようとしているのかが明確になり、誰かがこれを達成する方法の例を教えてくれることを願っています.

よろしく、エルウィン

4

1 に答える 1

0

POCO クラスで定義されたコレクションを使用する必要があります。したがって、 member1 を memberGroup に割り当てたい場合は、次のように呼び出すだけです。

memberGroup.Members.Add(member1);
于 2011-02-17T09:12:28.150 に答える