如何解决从打开的DataReader中返回新对象-可以吗?
我看到了以下代码:
public static ConsTypeCategory GetConsCategory(int providerId,int categoryId) {
const string select =
@"SELECT CategoryId,CategoryName,ExpectedDurationMins
FROM constypecategories
WHERE ProviderId = @ProviderId
AND CategoryId = @CategoryId
LIMIT 1";
MysqLParameter[] MysqLParameters = {
new MysqLParameter("ProviderId",providerId),new MysqLParameter("CategoryId",categoryId)
};
using (MysqLDataReader dr = MysqLHelper.ExecuteReader(DB.ConnectionString,select,MysqLParameters)) {
while (dr.Read()) {
return new ConsTypeCategory(
dr.GetInt32("CategoryId"),dr.GetString("CategoryName"),dr.GetInt32("ExpectedDurationMins")
);
}
}
return null;
}
...并立即认为从datareader循环中返回“新”对象是错误的。但是,为了找到该观点的理由,我变得空虚。
是否有充分的理由不从“一会儿”之内返回?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。