主外部キー関係のEFコードファーストセット(B)

三つのクラスの実体、TUsers(ユーザーベース)、(文字)ベースTRoles、TUsersRoles(ユーザの役割のカテゴリが)今があり、ユーザーは複数の文字に対応することができ、文字は、ユーザー、複数のユーザに対応してもよいし、役割は、多くの関係しています。 
(主エンティティで定義された)方法であって、次のように

パブリック クラスTUsers 
    { 
        [キー] 
        パブリック int型ユーザーID { 取得しますセット; } 

        パブリック 文字列アカウント{ 取得しますセット; } 

        パブリック 文字列のパスワード{ 取得しますセット; } 

        公共のDateTime CREATEDATE { 得ますセット; } 

        公共の一覧<TUsersRoles> TUsersRolesList { 取得しますセット; } 
    } 
    パブリック クラスTRoles 
    { 
        [キー]
        公共 のint Idを{ 取得しますセット; } 

        パブリック 文字列ロール名{ 得ますセット; } 

        パブリック 文字列 RoleRemark { 得ますセット; } 

        公共の一覧<TUsersRoles> TRolesUsersList { 取得しますセット; } 
    } 
    パブリック クラスTUsersRoles 
    { 
        [キー] 
        パブリック INTイド{ 得ますセット; } 
    }

以下に示すようなテーブル構造を生成します。 

私たちは、外部キールールの生産があることがわかります「_クラス名の主キー。」 
(エンティティの定義における)方法2を、次のように:

パブリック クラスTUsers 
    { 
        [キー] 
        パブリック int型ユーザーID { 取得しますセット; } 

        パブリック 文字列アカウント{ 取得しますセット; } 

        パブリック 文字列のパスワード{ 取得しますセット; } 

        公共のDateTime CREATEDATE { 得ますセット; } 
    } 
    パブリック クラスTRoles 
    { 
        [キー] 
        パブリック INTイド{ 得ますセット; } 

        パブリック 文字列のロール名{ 取得しますセット; } 

        パブリック 文字列 RoleRemark { 得ますセット; } 
    } 
    パブリック クラスTUsersRoles 
    { 
        [キー] 
        パブリック INTイド{ 得ますセット; } 

        パブリック 仮想 TUsersユーザ{ 取得しますセット; } 

        パブリック 仮想 TRoles役割{ 得ますセット; } 
    }

外部キー生成規則「オブジェクト名_主キー。」

以下のように、多くの関係は、管理テーブルを生成し、自動的に作成することができます。

public class TUsers
    {
        [Key]
        public int UserId { get; set; }

        public string Account { get; set; }

        public string Password { get; set; }

        public DateTime CreateDate { get; set; }

        public List<TRoles> Roles { get; set; }
    }
    public class TRoles
    {
        [Key]
        public int Id { get; set; }

        public string RoleName { get; set; }

        public string RoleRemark { get; set; }

        public List<TUsers> Users { get; set; }
    }

生成的表结构 

 

おすすめ

転載: www.cnblogs.com/zhusk/p/10972594.html