は私が後で使用できるいくつかの値をロードしようとしている非常に単純なT4を作成しようとしていSystem.Data.Entity.DbSet`1:T4 - Entity Frameworkのエラー:メソッドが見つかりません:「
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="c:\users\<username>\documents\visual studio 2015\Projects\2_DataModelGenerator\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll" #>
<#@ assembly name="c:\users\<username>\documents\visual studio 2015\Projects\2_DataModelGenerator\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll" #>
<#@ assembly name="c:\users\<username>\documents\visual studio 2015\Projects\2_DataModelGenerator\2_Data\bin\Debug\2_Data.dll" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Data" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="2_Data" #>
<#@ output extension=".cs" #>
<#
DevEntities dbContext = new DevEntities();
var labelClassNames = (from sd in dbContext.tblDatas
where sd.SID == 155
select new
{
SID = sd.SID.ToString(),
SValue = sd.SValue.ToString()
}).ToList();
#>
私はこのエラーを取得T4保存:
Error Running transformation: System.MissingMethodException: Method not found: 'System.Data.Entity.DbSet`1<2_Data.tblData> 2_Data.DevEntities.get_tblDatas()'
私は(EF 6.1.3を使用して)別の解決策では、このコードをテストしているし、それが(var labelClassNames
にデータをロードする)問題なく動作しますが。 T4テンプレートでのみ問題になっているようです。
別の名前空間をインポートする必要はありますか?私は何が欠けているのか分からない!
アップデート:私のTTコードで
:
dbc context = new dbc();
DevEntities mdc = new DevEntities();
mdc = context.returnContext();
は私のクラスライブラリにクラスを追加しました:
public class dbc
{
private DevEntities dbContext;
public dbc()
{
dbContext = new DevEntities();
}
public DevEntities returnContext()
{
return dbContext;
}
}
同じエラーが以前のように:
しかし、私が含まれている私のプロジェクトにダウン.edmxファイルを含め、私のクラスライブラリからApp.configファイルをコピーしたRunning transformation: System.MissingMethodException: Method not found: 'System.Data.Entity.DbSet
No connection string named 'DevEntities' could be found in the application config file.
:私は、T4テンプレートをデバッグするとき
はしかし、私は別のメッセージが表示されます。 ttファイル
アイデア?
dbcontextもそれは同じプロジェクトでだ、T4テンプレートでは表示されません。個別のコンパイルされたクラスライブラリプロジェクトでDbcontextを試して参照してください。問題は "2_Data"をロードすることです。 –
@ M.Hassan - これを実行する方法の例はありますか?別のクラスライブラリにDBContextを追加しようとしましたが、同じタイプのエラーが発生しています。 – webdad3
EntityFrameworkでT4を実行するために段階的に投稿します。 –