次の関係のマッピングに混乱しています。
次の 3 つの関連エンティティがあります: User
、Group
、GroupUser
。
User
ユーザー アカウントgroup
に関する情報、グループに関する情報があり、グループGroupUser
内のユーザーのメンバーシップに関する情報が含まれています。
public class User
{
List<GroupUser> Groups { get; set; }
}
public class Group
{
List<GroupUser> Users { get; set; }
}
public class GroupUser
{
Group Group { get; set; }
User User { get; set; }
string Position { get; set; }
DateTime Joined { get; set; }
}
User
グループに次のものを使用して片側マッピングを作成しました。
HasMany(x => x.Groups)
.WithMany()
.Map(m =>
{
m.ToTable("UserGroups");
m.MapLeftKey("UserId");
m.MapRightKey("GroupId");
});
ただし、もう一度マップしようとするとGroup
HasMany(x => x.Users)
.WithMany()
.Map(m =>
{
m.ToTable("UserGroups");
m.MapLeftKey("GroupId");
m.MapRightKey("UserId");
});
次のエラーが表示されます。
Schema specified is not valid. Errors:
(274,6) : error 0019: The EntitySet 'UserUserGroup' with schema 'dbo' and table 'UserGroups' was already defined. Each EntitySet must refer to a unique schema and table.
両方のエンティティ間でマッピング テーブルを再利用したいのですが、どうすればよいですか?