我正在使用Memory Managementwhile返回如下数据.
private DataSet ReturnDs()
{
using (DataSet ds = new DataSet())
{
return ds;
}
}
Run Code Online (Sandbox Code Playgroud)
查询 - 在返回数据时放置"使用"语句是否有任何问题?我仍在获取完整的架构以及接收函数中的数据?
这绝对是一个错误的模式。它现在对你有用的唯一原因是它DataSet.Dispose()实际上是一个假人。
using (DataSet ds = new DataSet())
{
return ds;
} // there is a ds.Dispose() here but it does nothing.
Run Code Online (Sandbox Code Playgroud)
如果您将 DataSet 替换为实体框架 DbContext,那么您将在调用函数中看不到任何数据。