дозвуковой в студии визуального дизайна - PullRequest
0 голосов
/ 30 июня 2009

В настоящее время я сталкиваюсь с проблемой, связанной с дозвуковой конфигурацией.

То, чего я хочу добиться, - это использовать дозвуковой доступ к данным в классе System.Web.UI.Design.ControlDesigner.

Этот класс размещен в среде Visual Studio и позволяет выполнять операции времени разработки на подключенном System.Web.UI.WebControls.Control.

Единственная проблема заключается в том, что SubSonic, похоже, всегда ищет SubSonicSection в конфигурации приложения, независимо от передачи ему строки подключения.

Соответствующий фрагмент кода:

using (SharedDbConnectionScope dbScope = new SharedDbConnectionScope(new SqlDataProvider(), ConnectionString))
{
Table1 _table1 = new Select().From<..().Where(...).IsEqualTo(...).ExecuteSingle<...>();

Создает исключение для метода ExecuteSingle () (раздел конфигурации не найден)

пока

using (SharedDbConnectionScope dbScope = new SharedDbConnectionScope(ConnectionString))
{

Создает исключение для нового SharedDbConnectionScope () (раздел конфигурации не найден)

Итак, вопрос:
Есть ли способ передать настройки времени выполнения, чтобы обойти поиск в разделе конфигурации, так как я не хочу добавлять какие-либо дозвуковые настройки в devenv.configuration

Спасибо

Ответы [ 3 ]

0 голосов
/ 30 июня 2009

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

http://forums.subsonicproject.com/forums/t/1617.aspx

http://forums.subsonicproject.com/forums/t/1502.aspx

0 голосов
/ 30 июня 2009

Способ использования конфигурации провайдера Subsonic Runtime:

(пример):

private void SetSubsonicProviderManually(string ConnectionString)  
{
//clear the providers and reset  
DataService.Provider = new SqlDataProvider();  
DataService.Providers = new DataProviderCollection();  

//instance a section - we'll set this manually for the DataService  
SubSonicSection section = new SubSonicSection();  
section.DefaultProvider = __SubsonicProviderName__;  

//set the properties
DataProvider provider = DataService.Provider;  
NameValueCollection config = new NameValueCollection();  

//need to add this for now  
config.Add("connectionStringName", __ConnectionString__);  

//initialize the provider  
provider.Initialize(__SubsonicProviderName__, config);  

provider.DefaultConnectionString = ConnectionString;  

DataService.Providers.Add(provider);  

}  
0 голосов
/ 30 июня 2009

Я не думаю, что вы можете сделать это в 2.x без настройки шаблонов (что может вызвать проблемы с поддержкой при выпуске новой версии SubSonic).

Извините, не знаю, примерно 3,0

...