2016-08-09 26 views
0

私はアイテムのリストを生成するかなり単純なTFをしようとしていますが、それを行う前に自分のDBContextを設定したいと思います。私は、次のことをしようとしている:T4テンプレートでEFコンテキストを使用するにはどうすればよいですか?

<#@ template debug="false" hostspecific="false" language="C#" #> 
<#@ assembly name="System.Configuration" #> 
<#@ assembly name="System.Core" #> 

<#@ import namespace="System.Configuration" #> 
<#@ import namespace="System.Linq" #> 
<#@ import namespace="System.Text" #> 
<#@ import namespace="System.Collections.Generic" #> 
<#@ import namespace="MyProj.Data" #> 

<#@ output extension=".cs" #> 

namespace ModelGenerator 
{ 
<# 
    MyProj.Data.ProjectContext db; 
#> 
} 

Compiling transformation: The type or namespace name 'MyProj' could not be found (are you missing a using directive or an assembly reference?)

私はこの権利をやっている場合、私はわかりません。私は.EDMXファイルを持つプロジェクトをインクルードしようとしています。 「MYPROJ」プロジェクトで

<#@ import namespace="MyProj.Data" #> 

「ProjectContextと呼ばれる接続文字列を持っているのapp.configを持っている。

私はまた、MyProj.DataプロジェクトにT4が含まれている私のプロジェクト内の参照を持っています。

私はこのエラーを乗り越えるために、行うために何が必要です

更新:?

ヤコブマサドのコメントに基づいています。私はこれまで

<#@ import namespace="MyProj.Data" #> 

を変更:

<#@ assembly name="MyProj.Data" #> 

は今、私はこのエラーを取得しています:

Compiling transformation: Metadata file 'MyProj.Data' could not be found

+0

'ProjectContext'クラスを含むアセンブリを' <#@ assembly name = ... 'とします。 –

+0

@YacoubMassad - それはうまくいかなかった。別のエラーが発生しました。更新された質問を参照してください。 – webdad3

+0

私は@YacoubMassadはあなたが –

答えて

0

私はアセンブリ名の情報を考えると、この質問を任せるつもりですコメントでは、T4テンプレートの使用を開始する初心者にとって貴重です。

実際にあなたのEF DBContextの使用方法への答えは、この質問で見つけることができます:

T4 - Entity Framework Error: Method not found: 'System.Data.Entity.DbSet`1

この質問は、ステップバイステップのインストラクションとの答えを持っています。

関連する問題