запутался в локальном хранилище данных для иногда подключенного приложения в .NET - PullRequest
0 голосов
/ 03 июня 2011

Могу ли я использовать базу данных SQL Server Express в качестве локальной базы данных для периодически подключаемого приложения (OCA), написанного с использованием Visual Studio? Требуется ли для этого установка SQL Server на клиентском компьютере? Похоже, что архитектура по умолчанию для ОСА в .NET - это использование SQL Server Compact. Однако SQL Server Compact не позволяет использовать хранимые процедуры. Я использую хранимые процедуры для всего доступа к данным в своем приложении, поэтому я не понимаю, как лучше создать клиент, который иногда подключается, для расширения функциональности.

В настоящее время у меня есть веб-приложение ASP.NET, которое подключается к веб-службе (WCF). Веб-служба подключается к БД и вызывает хранимые процедуры для получения данных и отправки изменений в данные. Сейчас я пытаюсь написать настольное приложение, которое может подключаться к веб-службе, когда подключение доступно, и работать локально, когда подключение недоступно, используя MS Sync Framework. Я не совсем понимаю, как сделать архитектуру для этого бита.

1 Ответ

1 голос
/ 03 июня 2011

Да, локальный кеш данных работает с SQL CE 3.5, и вы не можете использовать хранимые процедуры в кеше.После добавления элемента локального кэша данных в проект он автоматически подготавливает весь необходимый код MS Sync Framework для синхронизации данных с основным источником данных + все необходимые сценарии SQL для локальной базы данных, а также предлагает вам создать наборы типизированных данных или модель данных объекта.чтобы получить доступ к кешу из вашего приложения.

Элемент не работает с SQL Server Express - он не предлагает другого поставщика данных, кроме SQL Compact 3.5.В любом случае, если вы хотите использовать SQL Server Express, вам придется либо установить его на клиентский компьютер, либо использовать другой компьютер в качестве сервера БД, который нарушает все цели локального кэша данных.

Кстати.Я думаю, что локальный кэш данных работает только с базой данных как основным источником данных, поэтому вы не можете использовать его, если вы хотите, чтобы в качестве источника данных использовались службы WCF, и вам придется самим создавать хранилище и синхронизировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...