ASP.net MVC を使用して Web アプリケーションを開発しており、ADO.NET Entity Framework に接続しているデータベースを持っています。
このデータベースには、主キーとして GroupId を持つテーブル Group、主キーとして UserId を持つ別のテーブル UserInfo、および別のテーブル GroupUser があります。これは、エンティティとしてではなく、関連付けセットとして使用されるためです。 Group と User の間の多対多の関係。
GroupUser
GroupId
とを複合キーとして含み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);
助けてくれてありがとう:)