T4和Edmx冲突 - “输入文件似乎使用此模板不支持的架构版本”

时间:2013-04-04 01:47:43

标签: entity-framework t4

当输入文件是EF5 edmx时,我从T4收到警告。

  

运行转换:输入文件似乎使用架构   此模板不支持该版本。这可能会导致编译   错误。请使用“添加新生成的项目”添加更新   模板。

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

当我将旧项目升级到.NET Framework 4.7时,我曾经遇到过这个问题。

如果在这种情况下也是如此,那么现在不推荐使用*.tt文件。它是一个T4生成器文件,它将创建访问实体对象所需的C#源,需要更换。执行以下操作以更新它(假设您使用数据库第一种方法):

  1. 删除当前(已弃用的)*.tt文件(将其从项目中排除并删除)
  2. 通过双击打开解决方案资源管理器中的*.edmx文件。数据类图正在打开。
  3. 右键单击在数据类可视化中的可用空间(您的EF数据模型),然后选择"从数据库更新模型..." 在上下文菜单中
  4. 指定并测试数据连接(以确保成功)
  5. 现在在后台发生的事情是将生成一个新的*.tt文件。完成后,重建您的解决方案,错误就会消失。

    但请注意,之后您可能需要进行更多更改,因为在较新版本的EF中有一些重大更改,我有 described here