一尘不染

在Controller Action中执行SQL查询

sql

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

var entity = new TestEntities();

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

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

谢谢!


阅读 247

收藏
2021-03-08

共1个答案

一尘不染

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

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

在Microsoft的asp.net网站上有一篇很好的文章,介绍了实现存储库和工作单元的方法

使用存储库和工作单元

2021-03-08