0

ASP.net MVC を使用して Web アプリケーションを開発しており、ADO.NET Entity Framework に接続しているデータベースを持っています。

このデータベースには、主キーとして GroupId を持つテーブル Group、主キーとして UserId を持つ別のテーブル UserInfo、および別のテーブル GroupUser があります。これは、エンティティとしてではなく、関連付けセットとして使用されるためです。 Group と User の間の多対多の関係。

GroupUserGroupIdとを複合キーとして含みUserId、両方ともそれぞれのテーブルへの外部キーです。

これらは、生成されたGroupおよびUserクラスです (この関係に関して)

// Group
public Group()
{
    this.UserInfo1 = new HashSet<UserInfo>();
}

public virtual UserInfo UserInfo { get; set; }
public virtual ICollection<UserInfo> UserInfo1 { get; set; }

// UserInfo
public UserInfo()
{
   this.Group = new HashSet<Group>();
   this.Group1 = new HashSet<Group>();
}

public virtual ICollection<Group> Group { get; set; }
public virtual ICollection<Group> Group1 { get; set; }

このGroupUserテーブルにレコードを追加するには、これを行っています

int ownerId = Convert.ToInt32(WebSecurity.CurrentUserId);
group.UserInfo1.Add(conn.UserInfo.Find(ownerId));

ただし、このテーブルでレコードを見つける方法に行き詰まっています。ここで groupId と userId を指定して、特定のユーザーがこのグループに属しているかどうかを確認するにはどうすればよいですか?

Group group = conn.Group.Find(id);
int userId = Convert.ToInt32(WebSecurity.CurrentUserId);

助けてくれてありがとう:)

4

1 に答える 1