【问题标题】:Changing Code generation from T4 to Legacy objectContext causes exceptions?将代码生成从 T4 更改为 Legacy objectContext 会导致异常?
【发布时间】:2015-08-14 14:16:33
【问题描述】:

我创建了一个新模型:

  1. ADO.NET 实体数据模型

  2. 来自数据库的 EF 设计器。

当我将 Code generationT4 更改为 Legacy objectContext

我明白了:

类型或命名空间名称“EntityClient”不存在于 命名空间'System.Data'

命名空间中不存在类型或命名空间名称“对象” '系统.数据'

找不到类型或命名空间名称“EdmSchemaAttribute”

知道如何解决这个问题吗?

【问题讨论】:

  • 使用的是什么版本的EntityFramework?
  • @LSU.Net : package id="EntityFramework" version="6.1.3" targetFramework="net45"

标签: c# entity-framework visual-studio visual-studio-2013


【解决方案1】:

看起来您需要添加 EF 6.0 DbContext Generator,因为您当前的模板正在生成 EF 5.0 代码。请参阅@boindil 的回答。

我认为您的问题是,您的 T4 模板会生成 实体和上下文仍在 EF 版本 5 中。

首先你必须删除当前的代码生成项,它们是 在模型后面的代码中,即 .Context.tt 和 .tt.Next 使用 Right 添加新的 EF 版本 6 代码生成器 点击模型设计器-> 添加代码生成项... -> EF 6.x DbContext 生成器。

Upgrade from Entity Framework 5 to 6

【讨论】:

  • 完美!非常感谢。
【解决方案2】:

您需要将命名空间更改为

using System.Data.Entity.Core.EntityClient;
using System.Data.Entity.Core.Objects;
using System.Data.Entity.Core.Objects.DataClasses;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 2023-03-04
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    相关资源
    最近更新 更多