虽然我要添加 - 迁移它还可以,但是当我要运行update-database时,我在包管理器控制台中遇到了这种类型的错误
ALTER TABLE语句与FOREIGN KEY约束冲突" FK_dbo.ServiceTypes_dbo.Services_ServiceTypeID"。冲突发生在数据库" Otaidea",table" dbo.Services",column' ServicesID'。
我的两个模特:
public class Services
{
[Key]
public int ServicesID { get; set; }
[DisplayName("Register Date")]
public DateTime RegisterDate { get; set; }
public int ServiceTypeID { get; set; }
public string ApplicationUserID { get; set; }
public virtual ServiceType ServiceType { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
}
我的另一张表:
public class ServiceType
{
[ForeignKey("Services")]
public int ServiceTypeID { get; set; }
public string NAME { get; set; }
public virtual Services Services { get; set; }
}
答案 0 :(得分:0)
您在模特中的关系是错误的。服务具有“类型”,因此外键从ServiceType转到Service。您不需要引用ServiceType中的服务
您应该像这样创建模型:
<强>服务强>
SQL Error: ORA-01427: 01427. 00000 - "single-row subquery returns more than one row"
<强>的ServiceType 强>
public class Services
{
[Key]
public int ServicesID { get; set; }
[DisplayName("Register Date")]
public DateTime RegisterDate { get; set; }
public string ApplicationUserID { get; set; }
[ForeignKey("ServiceType")]
public int ServiceTypeID { get; set; }
public virtual ServiceType ServiceType { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
}
我也会对public class ServiceType
{
[Key]
public int ServiceTypeID { get; set; }
public string NAME { get; set; }
}
属性做同样的事情,但由于你没有发布它,我按原样让它。
此外,如果您删除数据库并让Entity Framework再次为您创建它会更好。因为你的模特关系错误所以事情变得“混乱”。