【问题标题】:Executing SQL queries in a Controller Action在控制器操作中执行 SQL 查询
【发布时间】:2015-10-28 06:18:36
【问题描述】:

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

var entity = new TestEntities();

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

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

谢谢!

【问题讨论】:

  • 改用存储过程。

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    相关资源
    最近更新 更多