Я пытаюсь создать уровень доступа к данным с блоком данных Enterprise Library 6.0. ниже мой файл конфигурации
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/>
</configSections>
<dataConfiguration defaultDatabase="db"/>
<connectionStrings>
<add name="db" connectionString="..." providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
и ниже мой файл класса
public class MasterRepo
{
Database db = null;
static MasterRepo()
{
DatabaseFactory.SetDatabaseProviderFactory(new DatabaseProviderFactory());
}
public MasterRepo()
{
db = DatabaseFactory.CreateDatabase("db");
}
public int Save(int param1, int param2)
{
using (DbCommand cmd = db.GetStoredProcCommand("Save", param1, param2))
{
return cmd.ExecuteNonQuery();
}
}
}
но мы получаем ошибку "ExecuteNonQuery: свойство соединения не было инициализировано". в cmd.ExecuteNonQuery() если мы заменим cmd.ExecuteNonQuery() на db.ExecuteNonQuery(cmd), то это сработает.
так почему же он терпит неудачу в первую очередь и как с этим справиться?