将代码生成从T4更改为Legacy objectContext会导致异常?

时间:2015-08-14 14:16:34

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

我创建了一个新模型:

  1. ADO.NET实体数据模型

  2. 来自数据库的EF Designer。

  3. 当我将Code generationT4更改为Legacy objectContext

    我得到了:

      

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

         

    命名空间中不存在类型或命名空间名称“对象”   'System.Data'

         

    无法找到类型或命名空间名称'EdmSchemaAttribute'

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

2 个答案:

答案 0 :(得分:1)

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

  

我认为你的问题是,你的T4模板,它产生了   权利和上下文仍在EF版本5中。

     

首先,您必须删除当前的代码生成项   在模型背后的代码中,即.Context.tt和   .tt.Next用Right添加一个新的EF版本6代码生成器   点击模型设计师 - >添加代码生成项... - > EF 6.x   DbContext Generator。

Upgrade from Entity Framework 5 to 6

答案 1 :(得分:0)

您需要将名称空间更改为

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