xai*_*oft 4 c# dapper micro-orm
我见过有人在做的例子:
IDbConnection db = new MySqlConnection(conn);
var people = db.Query<People>("SELECT * FROM PEOPLE").ToList();
Run Code Online (Sandbox Code Playgroud)
或者上面是一个不好的做法,并且所有查询都应该使用如下语句:
using (var db = new MySqlConnection(conn))
{
var people = db.Query<People>("SELECT * FROM PEOPLE").ToList();
}
Run Code Online (Sandbox Code Playgroud)
Eri*_*ert 11
正如其他人已经正确指出的那样,一般的最佳实践是在using
对象实现的任何时候使用,IDisposable
并且您知道对象的生命周期将会很短 - 也就是说,不会超过当前方法的持续时间.这样做可确保及时清理稀缺的操作系统资源.即使对象的处理由其终结器"支持",您也不希望处于这样的情况:例如,您对文件或数据库有锁定,或者在终结器运行几次之前不会释放从现在起十亿纳秒.
但是,我会通过说IDisposable
除了及时处理非托管资源之外的其他原因而实施少量类型的建议.在某些特定情况下,您可以安全地跳过using
.然而,这几乎是从来没有错的使用using
,即使它不是严格意义上讲必要的,所以我给你的建议是要慎之又慎的侧面和过度使用,而不是下使用using
.