首页 > 解决方案 > 更改实体框架上的架构对象名称

问题描述

我正在尝试在我的项目上创建一个测试环境,因此我将 PROD 数据库复制到另一台主机中。

在新主机上,我无法设置架构对象名称,因此我使用的是默认架构 obj ,dbo并且在 PROD 中是project_name.

示例:在 TEST 中看起来像“dbo.Table” 。
看起来像PROD 中的“project_name.table”

我复制并粘贴了我的 ASP.NET 项目,并更改了源连接。

问题是程序有一个引用project_name.Users,我想将它更改为dbo.Users. 我已经更新了连接,但我无法更改架构 obj 名称。

如何参考正确的表格?

错误 :

System.Data.Entity.Core.EntityCommandExecutionException: '执行命令定义时发生错误。有关详细信息,请参阅内部异常。SqlException:对象名称“project_name.Users”无效。

标签: c#asp.netsql-serverasp.net-mvcentity-framework-6

解决方案


您可以使用注解来定义一个类映射到的数据库表

[System.ComponentModel.DataAnnotations.Schema.Table("dbo.Table")]
public class Table {
...
}

推荐阅读