Я использую SqlMetal , чтобы обобщить мой класс DataContext.dbml для моего приложения ASP.net с использованием LinqToSql. Когда я изначально создал файл DataContext.dbml, Visual Studio использовала его для создания связанного файла DataContext.designer.cs. Этот файл конструктора содержит класс DataContext в C #, который используется во всем приложении (и является производным от XML в файле dbml) и необходим для устранения разрыва между выводом SqlMetal и использованием DataContext с LinqToSql.
Однако, когда я изменяю базу данных и воссоздаю файл dbml, файл конструктора никогда не восстанавливается на моем веб-сайте. Вместо этого сохраняется старый файл конструктора (и поэтому ни одно из изменений в файле DBML не доступно через класс LinqToSql DataContext).
Единственный процесс, который я смог использовать для восстановления файла конструктора, - это
- Перейдите в Windows Explorer и удалите файлы dbml и designer.cs
- Перейдите в Visual Studio и нажмите «Обновить» в обозревателе решений. Файлы dbml и designer.cs теперь исчезают из проекта.
- Восстановить файл dbml, используя SqlMetal
- Перейдите в Visual Studio и нажмите «Обновить» в обозревателе решений. Теперь файл designer.cs воссоздан.
Кажется, что Visual Studio будет генерировать файл designer.cs только при обнаружении нового файла dbml, у которого еще нет файла designer.cs. Этот процесс довольно непрактичен, так как включает в себя несколько шагов вручную и портит контроль над исходным кодом.
Кто-нибудь знает, как я могу автоматически восстановить файл designer.cs, не выполняя процедуру удаления / обновления / регенерации / удаления, описанную выше?