私は使用sqlmembership providerし、いくつかのテーブルを作成します。そのuserテーブルが必要です。
teachers私のアプリケーションには、 、 、studentsの3 種類のユーザーがいますother users。それで、私は彼らのために3つのテーブルを考えました。
それらのそれぞれには、usernameメンバーシップ プロバイダーによって登録され、独自のテーブルに保存される があります。
エンティティフレームワークを使用して、メンバーシップのテーブルに保存されているユーザー名とテーブルteachersの間の関係を作成する方法がわかりません。students
メンバーシップ プロバイダーによって作成されたテーブルと自分のテーブルの間に 1 対 1 の関係を追加できると思ったのですがusers、最初にそれによって作成されたテーブルをリバース エンジニアリングしてコードを作成しましたが、それらのテーブルを変更することは許可されていないようです。
教師や生徒とユーザー名(メンバーシップ情報) を関連付ける方法を教えてもらえますか?
詳細: コードファーストの表はこちら
public class aspnet_Users
{
public aspnet_Users()
{
this.aspnet_PersonalizationPerUser = new List<aspnet_PersonalizationPerUser>();
this.aspnet_Roles = new List<aspnet_Roles>();
}
public System.Guid ApplicationId { get; set; }
public System.Guid UserId { get; set; }
public string UserName { get; set; }
public string LoweredUserName { get; set; }
public string MobileAlias { get; set; }
public bool IsAnonymous { get; set; }
public System.DateTime LastActivityDate { get; set; }
public virtual aspnet_Applications aspnet_Applications { get; set; }
public virtual aspnet_Membership aspnet_Membership { get; set; }
public virtual ICollection<aspnet_PersonalizationPerUser> aspnet_PersonalizationPerUser { get; set; }
public virtual aspnet_Profile aspnet_Profile { get; set; }
public virtual ICollection<aspnet_Roles> aspnet_Roles { get; set; }
}
public class Techer
{
[Key]
public int TeacherId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string NationalNumber { get; set; }
public string PhoneNumber { get; set; }
public string Description { get; set; }
public int OfficeId { get; set; }
public virtual Office Office { get; set; }
}
public class Student
{
public int StudentId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int OfficeId { get; set; }
public virtual Office Office { get; set; }
}