Entity Framework DB First - 命名导航属性

Posted

技术标签:

【中文标题】Entity Framework DB First - 命名导航属性【英文标题】:Entity Framework DB First - Naming Navigation properties 【发布时间】:2014-12-21 04:12:32 【问题描述】:

我在我的应用程序中使用实体框架 v 6.1.1。

我的数据库有 2 个表 User, Location

User table
-----------
UserID
HomeCityId(FK -> LocationId)
CurrentCityId(FK -> LocationId)
Location table 
LocationId
LocationName

使用 DB First 方法,我为这两个表创建了一个实体数据模型。

User表的生成实体类

public int UserId;
public int HomeCityId;
public int CurrentCityId;
public virtual Location Location  get; set;  
public virtual Location Location1  get; set; 

有没有办法将这些虚拟属性命名为 HomeCity 和 CurrentCity 而不是 Location 和 Location1

【问题讨论】:

chakravarthy ,你有解决这个问题的方法吗?? 看起来 EF7 有解决办法。我仍在研究 EF6 的解决方案 什么是 EF7 解决方法? 【参考方案1】:

在实体框架数据库优先方法的情况下,使用 MVC、实体框架和 ASP.NET 脚手架,您可以创建一个 Web 应用程序,为现有数据库提供接口。自动生成的代码使用户能够显示、编辑、创建和删除驻留在数据库表中的数据。生成的代码对应数据库表中的列。

将数据注释添加到数据模型以指定验证要求并显示格式- 不建议更改实体框架自动生成的类,因为它肯定会在您更新 EDMX 数据模型时被覆盖,因此会创建元数据和部分 class.cs 文件。

另外,请注意所有文件 - EDMX、PartialClasses.cs 和 Metadata.cs 应位于应用程序中的相同位置 目录。

请参考本教程: Enhance data validation and display formatting for EF Database First with ASP.NET MVC app

【讨论】:

以上是关于Entity Framework DB First - 命名导航属性的主要内容,如果未能解决你的问题,请参考以下文章

Entity Framework Code-First(18):Turn off DB Initializer

Implant Json Convertor for Entity Framework db first Class

如何在 Entity Framework db-first 项目中添加非聚集索引?

如何使 Entity Framework 6 (DB First) 显式插入 Guid/UniqueIdentifier 主键?

DB-First Entity Framework 上下文未显示我的表

C#console app与DB first Entity Framework和AutoMapper,无法将Model转换为DbModel