WebMatrix数据库。打开。。。Close()和Dispose()

WebMatrix数据库。打开。。。Close()和Dispose(),dispose,webmatrix,Dispose,Webmatrix,每当我读到关于Close和Dispose的文章时,我都会看到很多只使用Using块的引用,但我还没有找到如何在WebMatrix C Razor语法中使用Using块 所以我不想要一个答案说只要使用一个Using块,除非你们能用这个例子确切地告诉我怎么做 特定于数据库的使用。完成连接/查询后打开 我的问题是: 我应该同时使用Close和Dispose吗? 我是先叫Close然后再叫Dispose还是先叫Dispose然后再叫Close有关系吗? 希望简单问题的简单答案。谢谢ASP.NET网页数据

每当我读到关于Close和Dispose的文章时,我都会看到很多只使用Using块的引用,但我还没有找到如何在WebMatrix C Razor语法中使用Using块

所以我不想要一个答案说只要使用一个Using块,除非你们能用这个例子确切地告诉我怎么做

特定于数据库的使用。完成连接/查询后打开

我的问题是:

我应该同时使用Close和Dispose吗? 我是先叫Close然后再叫Dispose还是先叫Dispose然后再叫Close有关系吗?
希望简单问题的简单答案。谢谢

ASP.NET网页数据库帮助程序的框架示例不包括关闭或Dispose调用,因为框架本身设计用于在请求结束时为您调用Dispose。如果使用ADO.NET而不是数据库助手,则应使用using语句。话虽如此,没有什么可以阻止您使用块包装数据库帮助程序调用:

IEnumerable<dynamic> floaters = null;
using(var db = Database.Open("MyDb")){
    var sql = "SELECT * From LifeRafts";
    floaters = db.Query(sql);
}

如果您想自己管理它,只需调用Close或Dispose即可。它们都会导致连接返回到ADO.NET连接池。

这是一个在ASP.NET网页/WebMatrix中使用块的好例子。谢谢|当仅使用Database helper时,在using in WebMatrix中包装数据库连接/查询代码真的没有好处吗?如果我使用ADO.NET是因为我想为某个数据库操作设置自己的自定义超时,并且出于任何原因不想使用using Block,你能回答我关于那个场景的问题吗?具体来说,我是不是两者都用?以任何特定的顺序?我已经为您更新了我的答案,不,使用数据库助手没有任何好处。