You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Entity Framework添加实体数据模型缺失Context.tt与Model.tt文件

EF6在Azure Function项目中缺失实体类与上下文自动生成文件的解决方案

前置说明

你当前使用的Visual Studio 16.11.5、EF6 6.4.4版本本身兼容代码自动生成逻辑,问题出在项目配置或生成策略设置上。


解决步骤

1. 检查模型创建时的代码生成策略

重新运行「ADO.NET Entity Data Model」创建向导,在代码生成策略步骤,不要选择「无代码生成」,保持默认的生成策略即可。

2. 手动触发T4模板生成

右键已生成的.edmx文件,选择「运行自定义工具」,手动触发代码生成逻辑,查看是否生成缺失的实体类和上下文文件。

3. 修正edmx文件属性配置

  • 右键.edmx文件选择「属性」
  • 确认「自定义工具」字段的值为 EntityModelCodeGenerator,如果为空则手动填入后保存
  • 再次右键.edmx选择「运行自定义工具」

4. 调整项目文件启用T4生成权限

Azure Function项目默认可能禁用构建时的T4模板转换,打开项目的.csproj文件,添加以下配置节点:

<PropertyGroup>
  <TransformOnBuild>true</TransformOnBuild>
  <OverwriteReadOnlyOutputFiles>true</OverwriteReadOnlyOutputFiles>
  <TransformOutOfDateOnly>false</TransformOutOfDateOnly>
</PropertyGroup>

保存项目文件后重新生成项目,触发代码生成。

5. 高版本.NET Azure Function的适配处理

EF6原生T4代码生成仅支持.NET Framework运行时,如果你的Azure Function项目基于.NET Core/.NET 5+运行时,有两种解决路径:

  • 将项目切换为.NET Framework运行时的Azure Function v1版本
  • 放弃原生自动生成,改为手动编写实体类和上下文代码,或迁移到Entity Framework Core使用Scaffold命令生成代码

内容的提问来源于stack exchange,提问作者slyp93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:15:02