我正在努力让特定的代码优先关系正常工作。基本上我有以下课程:
public class Service
{
public Guid ServiceId { get; set; }
public virtual List<ServicePackageService> ServicePackageServices { get; set; }
}
public class ServicePackageService
{
public Guid ServicePackageServiceId { get; set; }
public Guid ServiceId { get; set; }
public virtual Service Service { get; set; }
public Guid PackageServiceId { get; set; }
public virtual Service PackageService { get; set; }
}
这里的想法是一个 Service 对象可以有多个 ServicePackageService 对象。这些 PackageServiceObject 与单个 Service 相关,但它们具有 PackageService 属性,这是与 Service 表的另一种关系。
在我的配置中,我使用以下内容:
public ServicePackageServiceConfiguration()
{
HasRequired(x => x.Service);
HasRequired(x => x.PackageService).WithMany().HasForeignKey(a => a.PackageServiceId).WillCascadeOnDelete(false);
}
但是得到的数据表如下:
ServicePackageServiceId (PK)
ServiceId (No foreign key appears on this column)
PackageServiceId (FK)
Service_ServiceId (FK)
谁能指出我如何配置这种关系的正确方向。