Чтобы сделать это успешно, вам нужен отдельный слой данных.
Если вы следуете MVVM, то в коде представления файлов позади файлов в любом случае не должно быть кода доступа.
В любом случае, я предлагаю вам добавить в ваше решение новый библиотечный проект, который будет реализовывать ваш код уровня данных.Эта библиотека будет публиковать только те методы, которые необходимы для получения ваших данных, и они должны быть определены в общедоступном типе интерфейса.Вся ваша бизнес-логика будет ссылаться на этот интерфейс или класс, который его реализует.Остальной код вашего уровня данных должен быть объявлен как внутренний, если он должен быть общедоступным в рамках проекта.
Затем вы можете реализовать свойство, посредством которого вы передаете слою данных строку соединения для базы данных.
Если вам нужно использовать разные типы баз данных, например, SQL или Oracle, на лету вы можете использовать фабричный шаблон для создания экземпляра класса, который реализует интерфейс, но специфичен для этого типа базы данных.
Когдареализованная таким образом, ваша бизнес-логика не должна меняться каким-либо образом при доступе к различным базам данных.
Шаблон MVVM обычно используется по умолчанию для приложений Silverlight / WPF, но вы обнаружите, что большинство обучающихВ примерах используется шаблон по умолчанию, согласно которому бизнес-логика находится в коде файлов.Это нормально, пока вы не начнете пытаться вносить большие изменения либо в свой код доступа к данным, либо в бизнес-логику, когда обнаружите, что изменяете гораздо больше кода, чем нужно.
edit
Вот несколько ссылок, подробно описывающих MVVM и Silverlight.
http://msdn.microsoft.com/en-us/magazine/dd458800.aspx
http://www.silverlight.net/learn/advanced-techniques/the-mvvm-pattern/using-the-mvvm-pattern-in-silverlight-applications
http://www.codeproject.com/KB/silverlight/MVVMSilverlight.aspx
Вот несколько ссылок, детализирующих шаблон репозитория для слоя данных:
http://msdn.microsoft.com/en-us/library/ff649690.aspx
http://www.devx.com/dotnet/Article/33695/0/page/5
http://www.codeproject.com/KB/architecture/linqrepository.aspx