在控制器操作中执行 SQL 个查询

Executing SQL queries in a Controller Action

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

var entity = new TestEntities();

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

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

谢谢!

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

您提到要触发 5 个不同的数据库命令。查看 Unit of Work 模式,您可以使用它来帮助跟踪您所做的更改并将所有这些更改应用到数据库。

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