簡體   English   中英

如何從 EF Core 擁有的類型列名稱中刪除前綴

[英]How to remove prefix from EF Core owned type column names

我有一個這樣的實體

public sealed class Company
{
    public CompanyMainDetails MainDetails { get; private set; }
}

CompanyMainDetails

public sealed class CompanyMainDetails
{  
    public string Name { get; private set; }
}

而這個 EF Core 配置:

builder
    .OwnsOne(company => company.MainDetails);

默認情況下, Companies表中的列名生成為MainDetails_Name ,但我希望它只是Name所以我嘗試將配置更改為

builder.OwnsOne(
    company => company.MainDetails,
    config => 
    {
        config
            .Property(mainDetail => mainDetail.Name)
            .HasColumnName("Name");
    });

但現在該列生成為Company_Name

有沒有辦法實現我所需要的?

想想你的結構。 您可以將定義更改為傳統的一對多關系

public sealed class Company
{
    public int Id { get; set; }
    public CompanyMainDetails MainDetails { get; private set; }
}

public sealed class CompanyMainDetails
{  
    public string Name { get; private set; }
    public int CompanyId { get; set; }
    public Company Company { get; set; }
}

這樣 CompanyMainDetails 表上的列保持相同的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM