0

多くの人が、テーブルをメンバーシップ プロバイダーのテーブルに直接関連付けないでくださいと言っています。

しかし、これはどのように解決できるかというシナリオです:

  • メンバーシップには sqlmembershipprovider を使用します。
  • 人員がいるオフィスがいくつかありDoctorsますSecretaries
  • doctors私は別のテーブルを持っていますsecretaries
  • 各医師/秘書は、サインインするためのアカウントを持っている必要があります。

    public class Doctor
    {
        public Doctor()
        {
            this.Expertises = new HashSet<Expertise>();
        }
    
        [Key]
        public int DoctorId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
    
        [ForeignKey("Office")]
        public int OfficeId { get; set; }
        public virtual aspnet_Users User { get; set; }
        public virtual Office Office { get; set; }
        public virtual ICollection<Expertise> Expertises { get; set; }
    }
    
    public class Secretary
    {
        [Key]
        public int SecretaryId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
    
        // the rest..
    
        [ForeignKey("Office")]
        public int OfficeId { get; set; }
        public virtual aspnet_Users User { get; set; }
        public virtual Office Office { get; set; }
    }
    

医師/秘書のテーブルとメンバーシップ プロバイダーのテーブルの間の関係を作成できると考えましuserたが、これは良いアプローチではないようです。

どうすればこれを解決できますか?

EDIT:各従業員(医師または秘書)は、他のサイトのユーザーがログインするのと同じように、登録されたアカウントを持っている必要があります。後でメンバーシッププロバイダーを変更する可能性があるため、従業員とメンバーシップテーブルの間に直接関係を作るべきではないようです. では、従業員はどのようにしてアカウントを持つことができるのでしょうか?

4

1 に答える 1

0

Have および Employee オブジェクト。

        public class Employee
        {
            [Key]
            public int EmployeeId { get; set; }

            public string FirstName { get; set; }

            public string LastName { get; set; }

            // the rest..

            [ForeignKey("Office")]
            public int OfficeId { get; set; }

            [ForeignKey("EmployeeType")]
            public int EmployeeTypeId { get; set; }

            public virtual aspnet_Users User { get; set; }

            public virtual Office Office { get; set; }
        }


public class EmployeeType
{ 
  [Key]
  public int EmployeeTypeId {get; set;}
  public string EmployeeTypeDescription {get; set;} // Doctor or whatever
}
于 2013-01-18T22:44:21.903 に答える