C# EF Core 2.1因拥有的实体而向架构添加不需要的列

C# EF Core 2.1因拥有的实体而向架构添加不需要的列,c#,ef-core-2.1,C#,Ef Core 2.1,我有一个自己的实体Price,它被另外两个实体使用。当我运行模式生成脚本时,EF正在向其他父实体之一添加一个附加列。如何删除此列?在表SaleCommissionId中,列Price\u SaleCommissionId被添加为非空int,并且没有任何形式的键 [Owned] class Price { public decimal Amount {get;set;} public string Code {get;set; } ——生成的模式 表:订单 柱: 身份证件 价格与金额 价

我有一个自己的实体
Price
,它被另外两个实体使用。当我运行模式生成脚本时,EF正在向其他父实体之一添加一个附加列。如何删除此列?在表
SaleCommissionId
中,列
Price\u SaleCommissionId
被添加为非空int,并且没有任何形式的键

[Owned]
class Price {
  public decimal Amount {get;set;}
  public string Code {get;set;
}
——生成的模式
表:订单
柱:
身份证件
价格与金额
价格代码
表:销售佣金
柱:
身份证件
价格与金额
价格代码

Price\u SaleCommissionId是否使用modelbuilder配置?@Stefan,对于其他表,是的,到目前为止,这些表没有任何配置。您是否使用其中一个属性指定了
[Key]
?这是您的实际代码还是为这个问题量身定做的?首先,我认为您肯定需要为每个表定义主键列。我没有指定
[key]
,因为EF自动使用
Id
作为主键列。原来我需要在modelBuilder中使用
OwnsOne
方法。
class Order {
  public int Id {get;set;}
  public Price Price {get;set;}
}
class SaleCommission {
  public int Id {get;set;}
  public Price Price {get;set;}
}
-- Generated schema
Table: Orders
Columns:
  Id
  Price_Amount
  Price_Code

Table: SaleCommissions
Columns:
  Id
  Price_Amount
  Price_Code
  Price_SaleCommissionId <-- Why is this column added, and how can I have it removed?