特定のコードと最初の関係の周りを頭で囲むのに問題があります。 Group、User、GroupPermissionという3つのエンティティがあります。 GroupPermissionエンティティは、グループに関連するパーミッションに関する情報を保持します。リーダー、エディタ、ユーザーの3つのアクセス許可があります。 GroupPermissionテーブルには、主キーIDとアクセス許可の名前を含める必要があります。それから、私はIdle - Group_Id - User_Username - GroupPermission_Idのような関係テーブルが必要です。複数のグループ、複数のユーザー、複数のアクセス許可があります。私は単一の関係テーブルを作るのに役立つ多くの例を持っていますが、複数の関係を含むものは何も見つかりません。EF 4.1コード最初に複数の多対多の関係
public class User
{
[Key, StringLength(EntityLength.UsernameLength)]
public string Username { get; set; }
[Required, StringLength(EntityLength.NameLength)]
public string FirstName { get; set; }
[Required, StringLength(EntityLength.NameLength)]
public string LastName { get; set; }
[Required, StringLength(EntityLength.Email)]
public string Email { get; set; }
public bool Active { get; set; }
public DateTime DateCreated { get; set; }
public virtual UserPermission UserPermission { get; set; }
public virtual ICollection<Group> Groups { get; set; }
public virtual ICollection<Project> Projects { get; set; }
public virtual ICollection<Issue> Issues { get; set; }
public virtual ICollection<GroupPermission> GroupPermissions { get; set; }
public string FullName
{
get { return FirstName + ' ' + LastName; }
}
}
グループ:
public class Group
{
[Key]
public int Id { get; set; }
[Required, StringLength(EntityLength.GenericLength)]
public string Name { get; set; }
[Required, StringLength(EntityLength.DescriptionLength)]
public string Description { get; set; }
public virtual ICollection<User> Users { get; set; }
public virtual ICollection<Project> Projects { get; set; }
public virtual ICollection<GroupPermission> GroupPermissions { get; set; }
}
GroupPermission:テーブルは、この構造を使用して作成され
public class GroupPermission
{
[Key]
public int Id { get; set; }
[StringLength(EntityLength.GenericLength)]
public string Name { get; set; }
public int GroupId { get; set; }
public virtual ICollection<Group> Groups { get; set; }
public int UserId { get; set; }
public virtual ICollection<User> Users { get; set; }
public enum Permission
{
Leader = 1,
Editor = 2,
User = 3
}
}
ここ
は私のエンティティが...
ユーザーです、私はGroを得るId、Name、GroupId、およびUserIdを持つupPermissionsテーブル。この表はIDと名前でなければなりません。 GroupPermissions_IdとUser_Usernameを保持するGroupPermissionUsersテーブルを作成します。これは、Id、Group_Id、User_Username、GroupPermission_Idでなければならないテーブルです。
誰かがこれを達成するためのヒントを持っているのですか、これについての誤った考え方はありますか?
私は正確にこれを書いた(とそれは次のようになります。あなたがこれを提出し、それが働いているようだ。私は余分な存在なしにこれをやろうとしていたが、私は間違っていると思った。私の疑惑を確認していただきありがとうございます。私は何かが欠落していると思ったが、それは私に複数のGoogle検索と週末にそれが私を打つようになった。 – snoluet