如何解决ASP.NET MVC使用Dapper管理SQLConnection
| 我正在使用MVC快速介绍Stack Overflow / Sam Saffron发布的新Dapper Micro ORM。我想知道在控制器内部管理sqlConnection对象的最简单方法是什么?我正在做这样简单的事情,只是旋转一些数据并测试Dapper,但是像这样打开/关闭连接是不是一个主意?public class HomeController : Controller
{
sqlConnection conn = new sqlConnection(ConfigurationManager.ConnectionStrings[\"ajh\"].ConnectionString);
public HomeController()
{
}
public ActionResult Index()
{
// get me all comments
conn.open();
var comments = conn.ExecuteMapperQuery<Comment>(\"select * from Comment\");
conn.Close();
return View(comments);
}
}
解决方法
只需在本地创建,打开和关闭连接即可:
public class HomeController : Controller
{
public HomeController()
{
}
public ActionResult Index()
{
List<Comment> comments;
using (var conn = new SqlConnection(/* ... */))
{
conn.Open();
comments = conn.ExecuteMapperQuery<Comment>(\"select * from Comment\");
}
return View(comments);
}
}
尽管最好的方法是避免在控制器中直接访问数据。将数据访问方法埋入a2ѭ类或类似的类中,然后从控制器中调用它。,我从未使用过它,但是but3的执行被推迟了,那么您将遇到问题,必须使用.ToList之类的东西来完全枚举结果,然后再关闭连接。否则,如果.ExecuteMapperQuery
在返回结果之前将其全部枚举,则可以版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。