我有两个连接的类(但不幸的是没有通过外键):
public class Order
{
public int Id { get; set; }
public Status Status { get; set; }
}
public class Status
{
public int Id { get; set; }
public int OrderId { get; set; }
public Order Order { get; set; }
}
在这种情况下,只有Status表有一个"引用"订单。一个状态属于一个订单。
如何告诉DbModelBuilder外键是OrderId
而不是Id
?
public static void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Order>()
.HasOptional(a => a.Status)
.WithRequired(x => x.Order)
.WillCascadeOnDelete(true);
}
当我在Status
中加入Order
时,它会获得与Id
具有相同Order
的状态。
答案 0 :(得分:0)
在[ForeignKey("Order")]
属性上应用OrderId
,这将使其成为Order实体的外键,如下所示。
public class Status
{
public int Id { get; set; }
[ForeignKey("Order")]
public int OrderId { get; set; }
public Order Order { get; set; }
}