为啥当删除和重新添加表到 .EDMX 时,一些表以不同的名称出现?
Posted
技术标签:
【中文标题】为啥当删除和重新添加表到 .EDMX 时,一些表以不同的名称出现?【英文标题】:Why when delete and Re-Add tables to .EDMX some tables appeared in different names?为什么当删除和重新添加表到 .EDMX 时,一些表以不同的名称出现? 【发布时间】:2022-01-17 02:43:07 【问题描述】:我正在使用实体模型,我更新了一些表,我需要从数据库更新模型,
所以我从图表中删除了表并再次重新添加,但表名有问题,它没有显示为数据库中的名称,如下所示:
in the database table name After Re-add model name
1- Patients Patient
2- LabTests LabTest
3- Customers Customer
为什么它不像数据库名称那样显示
如何解决这个问题并在数据库中重新添加同名的表?
public virtual DbSet<Customer> Customers get; set;
public virtual DbSet<LabTest> LabTests get; set;
public virtual DbSet<Patient> Patients get; set;
我更新了模型和文件 Context.cs 中的表名称,
public virtual DbSet<Customers> Customers get; set;
public virtual DbSet<LabTests> LabTests get; set;
public virtual DbSet<Patients> Patients get; set;
但是当我打开 EDMX 图表时,它没有更新。
如何同时更新 Model.EDMX 上的名称?
【问题讨论】:
您说的是实体类型名称还是DbSet<T>
属性名称?实体类型名称通常应为单数,DbSet<T>
属性名称应为复数。
@DavidBrowne-Microsoft 是的,在从图表中删除之前可以,但在重新添加一些表格后以不同的名称显示
这看起来像是默认和推荐的方式。如果您想要不同的类型名称,您可以编辑 EDMX。 DbSet<Customer>
在概念上映射到数据库表`Customer
映射到该表中的单行。
@DavidBrowne-Microsoft 我更新了 context.cs 和模型中的名称,但未在图中更新如何更新 context.EDMX 上的名称?
【参考方案1】:
在旧的基于 EDMX 的 Database First 工作流程中,实体名称和实体集名称的复数/单数化在更新时由向导设置控制:
并且可以稍后在实体属性页面中更改:
【讨论】:
非常感谢三天以来我正在搜索并尝试解决此问题:)以上是关于为啥当删除和重新添加表到 .EDMX 时,一些表以不同的名称出现?的主要内容,如果未能解决你的问题,请参考以下文章