【问题标题】:How to name relationships in ado.net data model, mvc 5 c#如何在 ado.net 数据模型中命名关系,mvc 5 c#
【发布时间】:2020-10-12 10:29:11
【问题描述】:

我的 mvc 5 网站中有一个模型,我使用数据库优先方法。在某些表中,我有多个列引用同一个表。当数据模型搭建时,它会将数字附加到关系名称中,有没有办法可以给它一个定义的名称,这样我就可以从代码中了解每列的用途。 请查看下方以查看其中一个事件的屏幕截图。

在上面,MainContactPerson 和 ContactStaffId 都映射到同一个表 - Employee,因此它创建了关系 Employee 和 Employee1。

在我的代码中,我像上面那样访问它。

现在我想要什么。 我可以将这些关系名称重命名为 MainContact 和 ContactStaff 之类的名称,以便在我的代码中执行以下操作。

 var client = _db.Organisation.FirstOrDefault();

 var mainContactPerson = client.MainContact;
 var contactPerson = client.ContactStaff;

【问题讨论】:

  • 最好将EF版本(大概是6.*something*)添加为标签+ .NET Framework版本,同时删除asp.netasp.net-mvcmodel-view-controller,因为这些是与当前问题无关的 UI 层标签。
  • 因为我正在努力解决同样的问题 +1

标签: c# .net entity-framework entity-framework-6 ado.net-entity-data-model


【解决方案1】:

我很遗憾这里没有答案,因为我也对这个命名问题感到恼火。我通常只是处理模型给我的任何东西,但你说得对,myfield 和 myfield1 的默认命名至少是不直观的。

但是由于我正在处理一个新项目,因此我将在与模型类具有相同名称和命名空间的部分类中尝试具有直观名称的“别名”属性。在我的数据库项目中,我添加了一个“扩展”文件夹来保存这些部分类,但与生成的模型保持相同的命名空间。我已经将部分实体类用于其他数据层功能,例如审计跟踪和通用访问方法,这让我可以在删除和重新生成模型时向模型添加内容而不会丢失它。 (MySQL 的迁移支持最初并不是全部,所以我为每个迁移删除并重新生成。)当它工作时,我会返回一个代码示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 2019-10-02
    • 2017-06-08
    相关资源
    最近更新 更多