Я делаю приложение WinForms на C #. Когда я иду, чтобы создать свой объект базы данных, мне предоставляется два варианта:
- Локальная база данных
- База данных на основе услуг
Все, что я хочу, - это простая локальная база данных, которую можно использовать для моего проекта.
Однако, если я выберу «Локальная база данных (Compact Edition)», то после создания таблиц и перетаскивания их в создатель класса LINQ-To-SQL появится следующее сообщение:
Выбранный объект (ы) использует неподдерживаемый поставщик данных.
Итак, я не знаю, почему создание локальной базы данных будет считаться неподдерживаемым поставщиком при перетаскивании в таблицы в конструкторе реляционных объектов.
Итак, я пробую второй тип, «База данных на основе сервисов». Я выкладываю свои таблицы так, как хочу для своего основного приложения, и составляю свои таблицы. LINQ-To-SQL Designer отлично работает, когда я перетаскиваю эти таблицы и продолжаю писать свой код в своем приложении для вставки и обновления записей базы данных.
Однако с этой второй «базой данных на основе служб» мои вставки и обновления работают до тех пор, пока приложение работает. Однако, как только я закрываю его, он возвращается к тому, что было раньше. Если я вручную добавляю данные через обозреватель сервера, они сохраняются, но любые вставки, которые я не сохраняю.
Почему я не могу создать и использовать локальную базу данных с LINQ?
Если это не вариант, то почему «База данных на основе сервисов» (независимо от того, что это) не сохраняется после закрытия приложения?
Спасибо за ваше время!
Редактировать: Очевидно, что конструктор объектов LINQ-To-SQL не работает в локальных базах данных Compact Edition. Это все еще можно сделать, но вам, очевидно, придется использовать SqlMetal для генерации файла dmbl.