2013-07-15 6 views
3

Я pregenerated взглядов следуя шаблонов следующей ссылки:Обновление EF в pregenerated просмотров: Мишень по умолчанию Entity Framework версия требует EDMX схемы версии 2 или более низких

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 ");

Я все еще имеющий следующую ошибку:

Warning 3 The default target Entity Framework version requires the edmx schema version 2.0.0.0 or lower. The specified schema is version 3.0.0.0. To avoid this warning specify the target Entity Framework version explicitly. You can do this by using the EdmGen.exe command-line tool with the targetVersion option, or by including the targetEntityFrameworkVersion parameter when calling the GenerateCode method.

Любая идея, как решить эту проблему с использованием шаблонов?

Что такое эквивалент добавления /targetversion.4.5 в EdmGen с помощью шаблонов?

ответ

3

Я нашел решение моей проблемы ...

Была ведущая помощь в следующей ссылке:

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

moozzyk says:
August 5, 2012 at 11:51 pm

I did see this when using Visual Studio 2012 and EF5. For now the workaround is to edit the >template. Change the line 70 from: var errors = viewGenerator.GenerateViews(mappingItemCollection, writer).ToList(); to: var errors = viewGenerator.GenerateViews(mappingItemCollection, writer, >EntityFrameworkVersions.Version3).ToList(); Sorry for the inconvenience.

мне пришлось slighlty изменять свой код в аналогичном , от:

IList errors = viewGenerator.GenerateViews(mappingItems, writer);

Кому:

IList errors = viewGenerator.GenerateViews(mappingItems, writer, EntityFrameworkVersions.Version3);

После этого не было никаких предупреждений и ошибок.