我看到很多人都说不要直接将你的表与会员提供者的表联系起来。
但这是我怎样才能解决的问题:
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
会员提供者表之间建立关系,但这似乎不是一个好方法。
我该如何解决这个问题?
编辑:每个员工(医生或秘书)都应该有一个注册帐户,就像其他网站的用户一样,这似乎我不应该直接在员工和会员表之间建立关系,因为也许我们后来改变了会员提供者。那么员工如何拥有账户呢?
答案 0 :(得分:0)
拥有和员工对象。
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
}