DbModel.Context.tt 下缺少 DbModel.Context.cs 文件
Posted
技术标签:
【中文标题】DbModel.Context.tt 下缺少 DbModel.Context.cs 文件【英文标题】:Missing DbModel.Context.cs file under DbModel.Context.tt 【发布时间】:2018-04-24 00:54:07 【问题描述】:我是 ASP.NET 新手,刚刚设法配置我的机器,以便能够从远程 mysql 数据库更新我的 EFModel。
我必须为 Visual Studio 1.2.7 安装 MySql Connector 6.9.8 和 MySql。一切运行良好,我能够毫无问题地构建我的 API。所以在安装 MySql Connector 6.9.8 之后我跟着these steps 摆脱了EntityFramework 错误。
之后我从我的数据库中更新了我的模型并想发布我的项目以检查我的表中新创建的字段是否链接良好,我收到了一个错误:
“找不到类型或命名空间‘UphairDbEntities’”
由于我之前在我的 API 或 WebApp 项目中没有接触过任何东西,因此我检查了该项目的备份,发现我在文件 DbModel.Context 下的 EFModel 中缺少 DbModel.context.cs。 tt 在我的实际版本中。为什么它丢失了,我该如何生成这个文件?
为了记录,我使用的是 Entity Framework 6.2.0 和 MySql.Data/MySql.Data.Entity NuGet 包 6.9.9。
提前感谢您的支持:)
【问题讨论】:
您是否尝试过“运行自定义工具”命令(在解决方案资源管理器中右键单击 tt 文件)。该模型是否验证正常? 我的模型验证没问题,当我尝试在资源管理器的 tt 文件中单击“运行自定义工具”时,它告诉我“个性化工具 'TextTemplatingFileGenerator' 失败。” 也许您应该在问题中提及完整的异常消息。 我提到了完整的异常消息... 别名“找不到类型或命名空间'UphairDbEntities'” 【参考方案1】:如here 所述,我只需要删除 edmx 下的所有文件(DbModel.Context.tt、DbModel.Designer.cs 和 DbModel.tt),并使用实体数据模型设计器从数据库更新模型。
现在我了解了 Entity 的工作原理。
【讨论】:
以上是关于DbModel.Context.tt 下缺少 DbModel.Context.cs 文件的主要内容,如果未能解决你的问题,请参考以下文章
缺少驱动程序类 com.ibm.db2.jcc.DB2Driver 的依赖关系
从 DB2 移植到 ORACLE - ORA-00907:缺少右括号
使用 Postgres DB 的 Arquillian 的 Tomee 用户缺少权限或找不到对象