2009年5月25日 星期一

DbProviderFactories,DbProviderFactory

利用DbProviderFactories.GetFactory取得DbProviderFactory 如此一來在Project中就不需要把ODP或是System.Data.OracleClient.dll加入參考了。 而且隨時可以自由的透過config檔作切換 程式也不需重新編譯過 在TDD的開發方法中,你也可以自己作一個Mock的DataProivder。
class Program
{
static void Main(string[] args)
{
DbProviderFactory factory = DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings["DB"].ProviderName);
DbConnection conn = factory.CreateConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["DB"].ConnectionString;
DbDataAdapter da = factory.CreateDataAdapter();
da.SelectCommand.CommandText = "Select * From table1";
da.SelectCommand.Connection = conn;
DataTable dt = new DataTable();
da.Fill(dt);
}
}

App.config檔

<?xml version="1.0" encoding="utf-8" ?>




沒有留言: