我想使用EntityFramework使用T4模板生成一些代码 . 我在与当前工作的EF6 DbContext相同的程序集中创建了一个T4模板:
<#@ template language="C#" hostspecific="true" debug="True" #>
<#@ assembly name="$(SolutionDir)\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll" #>
<#@ assembly name="$(TargetPath)" #>
<#@ import namespace="Conwell.Administration.Data.Entities" #>
<#
using (var db = new KassenautomatEntities())
{
#>
//Hello World
<#
}
#>
当我运行它时,我得到以下execption:
运行转换:System.InvalidOperationException:实体框架提供程序类型'System.Data.Entity.SqlServer.SqlProviderServices,EntityFramework.SqlServer,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的'Instance'成员没有返回一个继承自'System.Data.Entity.Core.Common.DbProviderServices'的对象 . 实体框架提供程序必须从此类继承,并且“实例”成员必须返回提供程序的单例实例 . 这可能是因为提供者不支持实体框架6或更高版本;有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882 .
相同的上下文在T4之外工作正常 . 我错过了什么?
1 回答
我遇到了同样的错误,让它运行的方式是: