问题
I looked up How could I instantiate a Profiled DataAdapter to use with MVC MINI PROFILER? but this also did not answer my question.
I have some code like this in SqlDatasource class -
protected SqlCommand sqlCommand;
public SqlDatasource(String query, String connectionString) : this(connectionString)
{
this.sqlCommand.CommandText = query;
}
public DataTable getResults()
{
DataTable table = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(this.sqlCommand);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(adapter);
adapter.Fill(table);
return table;
}
I want a way to hook into the SqlDataAdapter when getResults() gets called. I searched a lot but there did not seem a way for me to do this yet.
Thanks.
回答1:
There's a class ProfiledDbDataAdapter
provided for this that you can use wrapped around your existing SqlDataAdapter
.
When I tried using it I found I needed to use the Fill(DataSet)
method instead of Fill(DataTable)
else I always received an error "The SelectCommand property has not been initialized before calling 'Fill'." despite setting both adapter's SelectCommand
properties.
来源:https://stackoverflow.com/questions/10824852/how-to-hook-up-sqldataadapter-to-profile-db-operations-with-mvc-mini-profiler