3

次のリンクのテンプレートに従って、事前に生成されたビューがあります。

http://blogs.msdn.com/b/adonet/archive/2008/06/20/how-to-use-a-t4-template-for-view-generation.aspx

Entity Framework 5.0 に改善する必要がありますが、次のようにスキーマを置き換えると:

stringBuilder.Replace(" http://schemas.microsoft.com/ado/2008/09/mapping/cs ", " http://schemas.microsoft.com/ado/2009/11/mapping/cs "); stringBuilder.Replace(" http://schemas.microsoft.com/ado/2008/09/edm ", " http://schemas.microsoft.com/ado/2009/11/edm "); stringBuilder.Replace(" http://schemas.microsoft.com/ado/2008/10/edmx "," http://schemas.microsoft.com/ado/2009/11/edmx "); stringBuilder.Replace(" http://schemas.microsoft.com/ado/2009/02/edm/ssdl ", " http://schemas.microsoft.com/ado/2009/11/edm/ssdl ");

私はまだ次のエラーがあります:

警告 3 既定のターゲット Entity Framework バージョンには、edmx スキーマ バージョン 2.0.0.0 以下が必要です。指定されたスキーマはバージョン 3.0.0.0 です。この警告を回避するには、対象の Entity Framework のバージョンを明示的に指定します。これを行うには、EdmGen.exe コマンド ライン ツールを targetVersion オプションと共に使用するか、GenerateCode メソッドを呼び出すときに targetEntityFrameworkVersion パラメーターを含めます。

テンプレートを使用してこの問題を解決する方法はありますか?

テンプレートを使用してEdmGen に /targetversion:4.5 を追加するのと同じことは何ですか?

4

1 に答える 1

3

問題の解決策を見つけました...

次のリンクに主要なヘルプがありました。

http://blog.3d-logic.com/2012/05/28/entity-framework-code-first-and-pre-generated-views/

moozzyk のコメント:
2012 年 8 月 5 日午後 11 時 51 分

これは、Visual Studio 2012 と EF5 を使用しているときに見られました。現時点での回避策は、>テンプレートを編集することです。行 70 を次のように変更します。 var errors = viewGenerator.GenerateViews(mappingItemCollection, writer).ToList(); to: var エラー = viewGenerator.GenerateViews(mappingItemCollection, writer, > EntityFrameworkVersions.Version3 ).ToList(); ご不便おかけしてすみません。

次のように、同様の方法でコードをわずかに変更する必要がありました。

IList エラー = viewGenerator.GenerateViews(mappingItems, writer);

に:

IList エラー = viewGenerator.GenerateViews(mappingItems, writer, EntityFrameworkVersions.Version3 );

その後、警告もエラーも一切発生しません。

于 2013-07-16T10:49:43.410 に答える