Избегайте использования файла App.config в проекте при использовании с SQLite / SubSonic (или любой другой базой данных) - PullRequest
3 голосов
/ 27 октября 2009

У меня есть проект, который я разрабатываю с использованием SQLite и SubSonic 3. Я хочу знать, как вообще избежать файла App.config. Как мне сказать моей программе использовать поставщик данных SQLite. Я имею в виду, как я могу сказать это так:

<DbProviderFactories>
    <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite">
</DbProviderFactories>

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

<add name="xyz" connectionString="Data Source=xyz.db" providerName="System.Data.SQLite"/>

Ответы [ 2 ]

4 голосов
/ 27 октября 2009

Вы можете создать провайдера вручную, передав строку подключения в:

var p = ProviderFactory.GetProvider("connectionstring", "System.Data.SqlClient");

Тогда вы можете использовать этого Провайдера, когда вам нужно. Это идеально подходит для IoC, где вы можете настроить правило для IDataProvider от SubSonic:

ForRequestedType< IDataProvider >()
    .TheDefault.Is.ConstructedBy(x => 
        ProviderFactory.GetProvider("connectionstring", "System.Data.SqlClient"));

Должен любить IoC:)

1 голос
/ 27 октября 2009

Многие библиотеки используют app.config, так что рано или поздно он вам все равно понадобится. Это очень важно для всей платформы .NET. И в чем вы видите проблему?

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

Это зависит от того, как вы используете своего провайдера SQLite, но если его классы жестко запрограммированы в вашем коде, я не думаю, что вам даже нужен DbProviderFactory.

...