Объекты классов вида XxxCommand (и не только) создаются вручную, хотя XxxConnection мог бы выступать в роли фабрики, упрощая таким образом создание кода, независимого от конкретного провайдера. Коллеги, не подскажете, в чем причины такого странного решения архитекторов ADO.NET?
Здравствуйте, hand, Вы писали:
H>Объекты классов вида XxxCommand (и не только) создаются вручную, хотя XxxConnection мог бы выступать в роли фабрики, упрощая таким образом создание кода, независимого от конкретного провайдера. Коллеги, не подскажете, в чем причины такого странного решения архитекторов ADO.NET?
Я что-то не очень понял.
IDbConnection con = new SqlConnection(); //new OdbcConnection(); new OleDbConnection(),
con.ConnectionSring = "Provider specific connection string here";
IDbCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT ...";
IDbDataParameter prm = cmd.CreateParameter();
prm.ParameterName = "Param1";
prm.Value = "value1";
prm.DbType = DbType.Decimal;
cmd.Parameters.Add( prm );
IDataReader reader = cmd.ExecuteReader();
Здравствуйте, hand, Вы писали:
H>Объекты классов вида XxxCommand (и не только) создаются вручную, хотя XxxConnection мог бы выступать в роли фабрики, упрощая таким образом создание кода, независимого от конкретного провайдера. Коллеги, не подскажете, в чем причины такого странного решения архитекторов ADO.NET?
В том, что ты не читаешь документацию. А следовало бы.
http://msdn.microsoft.com/en-us/library/system.data.common.dbproviderfactory.aspx
http://msdn.microsoft.com/en-us/library/system.data.common.dbproviderfactories.aspx
С уважением, Анатолий Попов.
ICQ: 995-908
Здравствуйте, Aen Sidhe, Вы писали:
AS>Здравствуйте, hand, Вы писали:
H>>Объекты классов вида XxxCommand (и не только) создаются вручную, хотя XxxConnection мог бы выступать в роли фабрики, упрощая таким образом создание кода, независимого от конкретного провайдера. Коллеги, не подскажете, в чем причины такого странного решения архитекторов ADO.NET?
AS>В том, что ты не читаешь документацию. А следовало бы.
AS>http://msdn.microsoft.com/en-us/library/system.data.common.dbproviderfactory.aspx
AS>http://msdn.microsoft.com/en-us/library/system.data.common.dbproviderfactories.aspx
Спасибо! Документацию не читал, так как находился в отпуске, почитывая книгу.