簡體   English   中英

如何在T4模板中使用EF上下文?

[英]How do I use my EF context in my T4 template?

我正在嘗試做一個相當簡單的TF,它將生成一個項目列表,但是在此之前,我想設置我的DBContext。 我正在嘗試以下方法:

<#@ 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;
#>
}

編譯轉換:找不到類型或名稱空間名稱“ MyProj”(您是否缺少using指令或程序集引用?)

我不確定我是否這樣做正確。 我正在嘗試包含具有.EDMX文件的項目。

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

在“ MyProj”項目中,有app.config,該應用程序具有一個名為“ ProjectContext”的連接字符串。

我的項目中也有一個引用,其中包含MyProj.Data項目的T4。

我要怎么做才能克服這個錯誤?

更新:

基於Yacoub Massad的評論。 我變了

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

對此:

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

現在我得到這個錯誤:

編譯轉換:找不到元數據文件“ MyProj.Data”

我將保留這個問題,因為我認為注釋中的程序集名稱信息對於開始使用T4模板的初學者很有價值。

在以下問題中可以找到有關如何實際使用EF DBContext的答案:

T4-實體框架錯誤:找不到方法:'System.Data.Entity.DbSet`1

這個問題有逐步說明的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM