如何避免迁移将数据分离到两个表中?

How Avoid migration separate data into two tables?

在我的代码优先应用程序中,我确实有一个 class "customer" 和 "address"。我的客户 class 有地址 class 参考。例如

class Customer{
    public string name {get;set;}
    public Address address {get;set;}
}

class Address{
    public string street{get;set;}
    public string number{get;set;}
}

当我迁移这些数据时,我有一个 table 客户使用这些列:

name
address_street
address_number

太棒了。我的数据只有一个table。这对我来说太完美了!

但是我需要(出于其他原因)为地址添加 ID。

class Address{
    [Key]
    public int EnderecoId { get; set; }
    public string street{get;set;}
    public string number{get;set;}
}

在这种情况下,迁移将我的客户 table 拆分为客户和地址 table。

name
addressId

street
number

有什么注释可以避免这种情况吗?我真的很想在客户 table.

中获取地址数据

为了让代码首先识别这一点,您必须将地址 class 标记为 [ComplexType]。然后 Address 将作为 Customer 对象的一部分进行跟踪。

只需将 [ComplexType] 注释添加到地址 class

[ComplexType]
public class Address
{ 
    //...
}