我的Asp.Net Core Identity表格设计遇到了一些问题。截至目前,我有一个User table
继承自IdentityUser
。该应用程序的所有用户都应在该表内才能登录。现在我还有2张桌子:
用户表:
public class User : IdentityUser
{
[Required]
[StringLength(50)]
public string Name { get; set; }
[Required]
[StringLength(50)]
public string Title { get; set; }
...
}
驱动程序表:
public class Driver
{
[Required]
[StringLength(50)]
public string Car{ get; set; }
[Required]
[StringLength(50)]
public string LicenseNr { get; set; }
...
}
客户表:
public class Customer
{
[Required]
[StringLength(50)]
public int Id { get; set; }
[Required]
[StringLength(50)]
public string Adress { get; set; }
...
}
基本上每个驱动程序都是一个用户,但并不是每个用户都是一个驱动程序。另一方面,一个客户可以有多个用户。如果客户有用户,则该用户将不会成为驱动程序。
我想让 Driver 类从 User 类继承,因为它必须具有与用户相同的属性,以及一些其他属性。并且客户应该是一对多关系。
但是,如果我在User表中添加CustomerId的外键,则意味着Driver由于继承也将具有该属性,并且没有太大意义。
关于如何设计这种关系的任何建议?
(由于简单起见,我删除了一些属性)