用微软EnterpriseLibrary操作数据库,方法执行完后会自动释放资源吗?
比如我这样的一个方法:
public static DataTable SelectContentDetail(int BasicID)
{
Database db = DatabaseFactory.CreateDatabase();
DataTable dt = db.ExecuteDataSet(CommandType.Text, string.Format(CMSSQL.SQL_SelectContentByBasicID, BasicID)).Tables[0];
return dt;
}
方法执行完后,db会自动释放吗?因为我看db没有提供释放的方法。
这个估计得看源码才知道是不是立即释放的。不过,我觉得你不用担心这个,企业库是微软自己开发的,必定有考虑性能问题,用好就行了。
不会马上释放,过一阵子这个连接没再使用就会释放,个人理解是这样的,以前做过EnterpriseLibrary的项目,没记得要可以去关闭连接。