私は使用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; }
}