Linq к регенерации класса SQL

Оказывается, проблема была вызвана Stop debugger when browser window is closed в опциях, я отключил это, и проблема была устранена.

Инструменты> Параметры> Проекты и решения> Веб-проекты

  • Отключить «Остановить отладчик, когда окно браузера закрыто».

enter image description here

8
задан stimms 8 October 2008 в 03:46
поделиться

5 ответов

Я столкнулся с этой той же проблемой, и использующий sqlmetal определенно хороший способ решить его. Один подход должен создать пакетный файл, который выполняет Вашу команду sqlmetal и тот способ, которым можно просто выполнить пакет каждый раз, когда Вы должны обновить свой Linq к классам SQL, но что является даже решением дождевика, должен использовать Инструменты Visual Studio-> Внешняя функция Инструментов для создания команды в Visual Studio, которая выполняет sqlmetal с параметрами. Это работает отлично, и можно даже отбросить созданную команду на панель инструментов для восстановления одиночного нажатия.

5
ответ дан 5 December 2019 в 17:43
поделиться

Вы могли использовать sqlmetal, который является генератором класса командной строки для linq к sql классам.

3
ответ дан 5 December 2019 в 17:43
поделиться

Для ситуаций/моделей, где SQLMetal не вполне сокращают его, например, из-за различных соглашений о присвоении имен в базе данных и Вашей модели или некоторых других настроек в Вашей модели L2S, у меня есть дополнение для Visual Studio, которая добавляет команды для синхронизации разработчика L2S с базовой базой данных [схема]. (плюс набор другого L2S и EF связал функции),

Можно читать больше об этом, загрузить его и получить 30-дневную пробную лицензию из http://www.huagati.com/dbmltools/

1
ответ дан 5 December 2019 в 17:43
поделиться

LINQ к версии 1 SQL не поддерживает изменения схемы базы данных обнаружения. Единственный способ изменить сгенерированные классы состоит в том, чтобы повторно создать их или с разработчиком или с SQLMetal.

Следует иметь в виду, что нет многих различий между SQLMetal и разработчиком, разработчик является более 'симпатичным' UI для SQLMetal и скрывает многие переключатели командной строки.

Я использую разработчика, поскольку я слишком ленив для постоянной загрузки командной строки.

Кроме того, удостоверьтесь, что Вы не пишете ни одного своего собственного кода в сгенерированные классы, иначе Вы освободите его на regen. Все сгенерированные классы неравнодушны, что означает, что можно легко добавить собственные расширители в отдельном файле.

1
ответ дан 5 December 2019 в 17:43
поделиться

В прошлом, где я работал, мы создали класс обертки к DataContext это сгенерированный sqlmetal. Затем мы создали тонкий слой данных, который сохранил частным DataContext и все классы сгенерированный sqlmetal.

Если бы для каких-либо операций в программном обеспечении была нужна информация от базы данных, то они должны были пройти этот слой обертки для получения его. Другими словами, никакой LINQ к SQL не мог появиться за пределами этого слоя данных.

Тот путь, каждый раз, когда мы должны были повторно создать классы через sqlmetal, только части слоя данных, мог повредиться. Намного легче зафиксировать один слой, где весь код доступа к данным, чем изменить опрыскивания LINQ к SQL всюду по Вашему логическому или домену приложения.

0
ответ дан 5 December 2019 в 17:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: