Раздельное соединение чтения / записи для SubSonic

Политика безопасности в производственной среде нашего клиента требует, чтобы мы использовали отдельное соединение для выполнения операций записи и чтения в базу данных и из нее. Мы решили использовать SubSonic для создания нашего DAL. Поэтому мне интересно знать, возможно ли это, и если да, то как?


person TheVillageIdiot    schedule 06.05.2009    source источник


Ответы (1)


Вы можете указать поставщика, которого SubSonic использует во время выполнения. Таким образом, вы должны указать поставщика чтения (используя строку подключения для чтения) при загрузке из базы данных, а затем указать поставщика записи (используя строку подключения для записи), когда вы хотите сохранить в него.

Следующее не проверено, но я думаю, что оно должно дать вам общее представление:

        SqlQuery query = new Select()
            .From<Contact>();

        query.ProviderName = Databases.ReadProvider;

        ContactCollection contacts = query.ExecuteAsCollection<ContactCollection>();
        contacts[0].FirstName = "John";
        contacts.ProviderName = Databases.WriteProvider;
        contacts.SaveAll();
person Adam Cooper    schedule 06.05.2009
comment
Отредактировал свой ответ, чтобы привести пример, его С #, но при необходимости его можно легко перевести - person Adam Cooper; 06.05.2009
comment
@Adam огромное спасибо, нет необходимости в переводе, я кодирую на C #. - person TheVillageIdiot; 06.05.2009