Bas*_*sie 5 c# entity-framework-core .net-5
我有一个这样的实体
public sealed class Company
{
public CompanyMainDetails MainDetails { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
在哪里CompanyMainDetails
public sealed class CompanyMainDetails
{
public string Name { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
这个 EF Core 配置:
builder
.OwnsOne(company => company.MainDetails);
Run Code Online (Sandbox Code Playgroud)
默认情况下,表中的列名Companies生成为MainDetails_Name,但我希望它只是这样Name,所以我尝试将配置更改为
builder.OwnsOne(
company => company.MainDetails,
config =>
{
config
.Property(mainDetail => mainDetail.Name)
.HasColumnName("Name");
});
Run Code Online (Sandbox Code Playgroud)
但现在该列生成为Company_Name
有办法实现我所需要的吗?
小智 0
想想你的结构。您可以将定义更改为传统的一对多关系
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; }
}
Run Code Online (Sandbox Code Playgroud)
这样,CompanyMainDetails 表上的列将保持相同的名称。
| 归档时间: |
|
| 查看次数: |
847 次 |
| 最近记录: |