public class Order
{
public int Id { get; set; }
public string Type { get; set; }
}
Order
具有组合键(Id,Type)
。
public class SalesOrderItem
{
public int Id { get; set; }
public int OrderId { get; set; }
public Order Order { get; set; }
}
SalesOrderItem
具有密钥Id
。
我想配置SalesOrderItem
和Order
之间的关系。 SalesOrderItem
没有可用于创建该关系的组合键的OrderType
列。 OrderType
在与SAL
一起使用时始终为SalesOrderItem
。
我试图通过在外键部分设置常量来配置关系:
protected override void OnmodelCreating(ModelBuilder modelBuilder)
{
modelBuilder
.Entity<Order>()
.HasKey(o => new { o.Id,o.Type });
modelBuilder
.Entity<SalesOrderItem>()
.HasKey(s => s.Id);
modelBuilder
.Entity<Order>()
.HasMany<SalesOrderItem>()
.WithOne(salesOrderItem => salesOrderItem.Order)
.HasForeignKey(salesOrderItem => new {salesOrderItem.OrderId,Type = "SAL"});
}
这不有效。
我该怎么办?