在Controller Action中执行SQL查询

时间:2015-08-05 12:51:20

标签: c# sql asp.net-mvc entity-framework controller

我有5个单独的SQL查询,我在控制器操作中按顺序执行。这是我用来执行它们的方法:

var entity = new TestEntities();

entity.Database.ExecuteSqlCommand("//SQL Query");

所以,基本上我连续五个ExecuteSqlCommand有不同的查询必须按顺序执行,代码必须继续在它们下面执行。有没有更好的方法从控制器操作内执行查询?我不确定用这种当前方法进行错误处理的最佳方法。

谢谢!

1 个答案:

答案 0 :(得分:2)

首先看一下在控制器和数据库之间创建一个抽象层。这方面的一个例子是存储库,它将在您进行测试时提供帮助。您可以创建可用于单元测试的模拟存储库,而不是针对实际数据库进行测试。

您提到要启动5个不同的数据库命令。查看可用于帮助跟踪已更改内容的Unit of Work模式,并将所有这些更改应用于数据库。

微软关于implementing the repository and unit of work的asp.net网站上有一篇很好的文章。

Using a repository and unit of work