【发布时间】:2011-03-14 01:39:20
【问题描述】:
这是从数据库检索数据到业务逻辑层的最快、最有效的方法吗?
public static DataTable Getdata(Guid companyId)
{
DbCommand command = db.GetStoredProcCommand("dbo.P_GetData");
db.AddInParameter(command, "@company_id", DbType.Guid, companyId);
IDataReader reader = db.ExecuteReader(command);
DataTable data = new DataTable();
data.Load(reader, LoadOption.OverwriteChanges);
reader.Close();
return data;
}
【问题讨论】:
-
我会将
db.ExecuteReader()语句放在using块中,以防在data.Load()期间发生异常,导致reader.Close()不被调用。