2010-10-11 4 views
9

Я использую VS2010, и я загружаю C# POCO Entity Generator и устанавливаю его, теперь я хочу его использовать.Как использовать генератор объектов poco

Я не могу читать toturial и я не могу найти какие-либо другие хорошие toturials, так что я должен был идти сам - я создал модель, а затем я создаю новый POCO Entity, но Я получил ошибку ниже:

Error 1 Running transformation: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Unable to locate file 
    at Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolvePath(String path) 
    at Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolvePath(String path) 
    --- End of inner exception stack trace --- 
    at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner) 
    at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner) 
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) 
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 
    at Microsoft.VisualStudio.TextTemplatingA9DB2432A51EA8D42A615FBEB2ECB4E5.GeneratedTextTransformation.DynamicHost.ResolvePath(String path) 
    at Microsoft.VisualStudio.TextTemplatingA9DB2432A51EA8D42A615FBEB2ECB4E5.GeneratedTextTransformation.MetadataLoader.TryCreateEdmItemCollection(String sourcePath, String[] referenceSchemas, EdmItemCollection& edmItemCollection) 
    at Microsoft.VisualStudio.TextTemplatingA9DB2432A51EA8D42A615FBEB2ECB4E5.GeneratedTextTransformation.MetadataLoader.CreateEdmItemCollection(String sourcePath, String[] referenceSchemas) 
    at Microsoft.VisualStudio.TextTemplatingA9DB2432A51EA8D42A615FBEB2ECB4E5.GeneratedTextTransformation.TransformText() 
    at Microsoft.VisualStudio.TextTemplating.TransformationRunner.RunTransformation(TemplateProcessingSession session, String source, ITextTemplatingEngineHost host, String& result) 

В чем проблема? Я думаю, что он не может найти сопоставление модели, если это так, как мне это решить?

1: из-за ограничений в Интернете в моем родном городе.

+0

Возможно, вам понравится мой ответ на соответствующий вопрос здесь -http: //stackoverflow.com/a/14304115/ 201648 –

+0

Для меня было достаточно ответа Ладислава, и моя проблема решена. –

ответ

11

Опишите проблему this article и сообщите, как и как с этим работать. Это проблема замены пути при создании шаблона POCO из объекта Add в Visual Studio.

10

Эта ошибка возникает, когда путь к файлу EDMX неверен в файле TT. Чтобы решить проблему, откройте файл TT и замените путь вручную относительным путем к файлу EDMX.

Например, изменить:

string inputFile = @"Db.edmx"; 

к чему-то вроде этого:

string inputFile = @"..\DataAccess\Db.edmx"; 
+0

Это итог статьи, связанной с [принятым в настоящее время ответом] (http://stackoverflow.com/a/3906780/947171). Это была моя проблема. Я переименовал файл .edmx, который переименовал конструктор и диаграмму, но не обновил внутреннее имя файла в T4. Ручная модификация шаблонов T4 (как модели, так и контекста) для 'const string inputFile = @" .edmx ";' исправлена ​​моя проблема. –

0

, как описано в entityframeworktutorial, перед генерацией POCO сущностей, пожалуйста, отключите поколение умолчанию код, который генерирует Context и Entities код в Model1.designer.cs. Чтобы отключить генерацию кода по умолчанию, щелкните правой кнопкой мыши на .edmx, выберите свойства и затем удалите значение свойства «Пользовательский инструмент» «EntityModelCodeGenerator». Теперь щелкните правой кнопкой мыши на поверхности дизайнера, выберите «Добавить элемент генерации кода ...» и продолжайте, как вы это делали до

Смежные вопросы