Как стать автором
Обновить

Комментарии 8

Взял ваш шаблон bitbucket.org/chernikov/webtemplate/src/86b915b85c18d751eb48cb84e8afc80a03f0819b/version3.asp4 с целью разобраться со скаффолдингом.
Вот просто, открыл проект, в консоли сделал Scaffold IRepository Notify и получил ошибку
Invoke-Scaffolder : Не удается найти позиционный параметр, принимающий аргумент "Notify". строка:1 знак:10 + Scaffold <<<< IRepository Notify + CategoryInfo : InvalidArgument: (:) [Invoke-Scaffolder], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,T4Scaffolding.Cmdlets.InvokeScaffolderCmdlet

Попробовал зайти с другого конца — в webTemplateDb.dbml создал простой класс с парой полей и без связей, запускаю Scaffold ProviderRepository Class1 и получаю ту же ошибку.
В чём ошибка? Хочу разобраться с механизмом.
1. Должна быть создана таблица (Например Class1)
image
2. Она должна быть перенесена в webTemplateDb.dbml и файл должен быть сохранен

3. В PackageManager должен быть выбран проект webTemplate.Model


И всё получится

п.2 и 3 помогли, спасибо. Скажите а вот как вообще диагностировать причину ошибки. Вот на конкретном примере, он ругнулся что не тот параметр и… что? Как найти какой именно из параметров? И почему это оказался «проект по умолчанию»?
Просто частая ошибка, когда отсутствует или сам скаффолдер (а IRepository в webTemplate.Model находится), или нет класса с которым ему нужно работать (не сохранен webTemplateDb.dbml).
Есть и другие конечно.
Что интересно, вы говорите про локализацию, но файлы скаффолдинга у вас в кодировке ANSI, и генерируют они тоже ANSI. Хотя надо бы в UTF8. Это я столкнулся с битыми кодировками когда немного подправил под себя шаблон (у меня нет мультиязычности). Я понимаю что все фразы у вас в ресурсах, но всё же UTF8 как-то универсальнее.

Кстати у вас нет поддержки для полей с датой (использования Datepicker). Тоже нашёл нужный форк бутстрапа и изменил скаффолдинг.
О! Круто что разобрались. Я думал, что слишком сложно написал, никто не поймет.

По поводу кодировки файлов — я просто не заметил. И скаффолдинг написал до того как начал пользоваться bootstrap`ом, а когда переписал, не заметил и не добавил.
Scaffolding T4 для Visual Studio 2013 не применимо.

Можно узнать, что именно там не поддерживается и какие есть альтернативы.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории