我有一个带有一些基类的代码第一个项目。
然后我有另一个项目继承这些类,添加一些属性,然后生成数据库。
让我们假设我们有一个客户和一个地址:
public class Customer
{
[Key]
public int ID { get; set; }
[Required]
[MaxLength(100)]
public string FirstName { get; set; }
}
public class Address
{
[Key]
public int ID { get; set; }
[Required]
[MaxLength(100)]
public string CityName { get; set; }
[Required]
public Customer Customer { get; set; }
}
您会注意到地址有一个客户的外键。 这一切都很好,但我想做的是继承客户(或使用部分类)来添加另一个属性。
我想让数据库拥有一个Address和Customer表,但实现项目应该能够添加:
public class Customer : BaseObjects.Customer
{
[Required]
public int PantSize { get; set; }
}
问题是,Base Address返回BaseObjects命名空间中的Customer,而不是此扩展的customer类类型。所以,当我说
时 public DbSet<Customer> Customers { get; set; }
要么抱怨有两个具有相同简单名称(customer)的类,要么我将它们作为部分类并在基础DBContext中生成DBSet,它不包含新属性。
我该怎么做?
感谢, 詹姆斯