小编dev*_*989的帖子

实体框架代码优先重写 onModelCreating() 以实现 TPT 继承搞砸身份用户和角色模型

我在将 Fluent API 扩展到我的继承类时遇到问题。我采用了TPT(table per type)方法,每个类型的继承都有一个表。我喜欢每种类型的表,因为数据库完全规范化并且易于维护。我在覆盖本文指示我执行的onModelCreating方法时遇到错误。它正在丢失用户和角色实体的密钥。

基础抽象类

namespace Home_Warranty.Models
{
    public abstract class Vendor
    {
        [Key]
        public int VendorID { get; set; }

        [Required]
        public string CompanyName { get; set; }

        [Required]
        public int StreetNumber { get; set; }

        [Required]
        public string StreetName { get; set; }

        }
}
Run Code Online (Sandbox Code Playgroud)

从供应商继承的 ServiceCompany 类

namespace Home_Warranty.Models
 {
 [Table("ServiceCompanies")]
 public class ServiceCompany : Vendor
 {
    public string ACHClaim { get; set; }

    public virtual ICollection<SubContractorCompany> SubContractorCompanies{ get; set; } …
Run Code Online (Sandbox Code Playgroud)

linq inheritance linq-to-entities entity-framework entity-framework-migrations

1
推荐指数
1
解决办法
7500
查看次数