有什么办法可以在C#代码的两点之间获取所有数据(Linq-to-sql)

里卡多·席尔瓦(Ricardo Silva)

我的场景如下:我正在一个用C#Asp.Net开发的系统中工作(无论如何,这是一个庞大,庞大且定义明确的系统)。而且我正在尝试开始创建一些单元测试以开始重构(相信,这是需要重构的(有些控制器具有10k,12k线)。问题是该系统中的很多东西都与数据库有关(并且系统是数据库上下文是通过很多代码实例化的,而不是注入的。因此,我现在的观点是将一些数据模拟到本地MDB文件中,以重构代码并创建具有自己的MDB的单元测试(具有所有数据库结构,但仅包含他将使用的数据)。

在我什么呢?像这样:

[TestMethod()]
public void AnyTest()
{
    var dbLogger = new DbLogger(); //this class is not created, it's just an example.
    dbLogger.Start();

     WorstWrittenMethodEver(); //this method will call any other methods insides, 
                               //a couple of then 
                               //and I really don't know the order and the
                               //complexity (much times very high), and this will probably
                               //instantiate the DataContext a lot of times and do
                               //a lot of data retrieval.

    db.StopLog();
    Console.WriteLine(db.DataRetrieved); //And in this line I will print all the tables 
   //and data retrieved between this two points.
}

之后,我将获得该数据,将其模拟到一个MDB文件中,并重构上面的单元测试以获得真正的单元测试。

反正有这样做吗?

伊万·多罗申科(Ivan Doroshenko)

看起来这不是一件容易的事。而且我认为您应该使用一些流行且经过测试的库或工具。我的建议是使用MiniProfiler它允许捕获所有SQL查询(还包括对LinqToSql的支持)。它具有良好的UI和API,可在您的代码中进行交互。实际上,要获取所有SQL查询数据,可以使用以下方法:

MiniProfiler.Current.GetSqlTimings();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有什么办法可以在所有数据库的sql server中作为整数工作

来自分类Dev

SQL查询未获取所有数据C#/ ASP.net

来自分类Dev

SQL查询按日期范围查找介于两个日期之间的所有数据

来自分类Dev

Grails中的SQL查询可从两个具有外键关系的表中获取所有数据

来自分类Dev

如何使EF.net筛选SQL Server而不是C#上的所有数据

来自分类Dev

sql重复显示所有数据

来自分类Dev

SQL删除所有数据

来自分类Dev

选择sql table + AS的所有数据

来自分类Dev

Linq union所有等效的SQL代码

来自分类Dev

SQL查询从具有相同ID的不同表中获取所有数据

来自分类Dev

获取目标C中两点之间的所有X,Y坐标

来自分类Dev

最近30天的SQL Server数据及所有数据

来自分类Dev

从SQL Server的所有数据库中获取表大小信息

来自分类Dev

SQL Server-获取所有数据库和文件

来自分类Dev

SQL Server-使用MDF和LDF文件位置获取所有数据库

来自分类Dev

Rails和Oracle:执行sql语句并获取所有数据

来自分类Dev

如何从SQL Server中的XML列中获取所有数据

来自分类Dev

从SQL中的选定日期获取未来24小时的所有数据

来自分类Dev

SQL内部联接获取列中的所有数据

来自分类Dev

SQL查询可从多个表返回所有数据

来自分类Dev

SQL-日期范围返回所有数据

来自分类Dev

(T)SQL查询以筛选包含的所有数据集。

来自分类Dev

显示PHP中的sql表中的所有数据?

来自分类Dev

使用 SMO 遍历 SQL Server 中的所有数据

来自分类Dev

如何在SQL行中显示所有数据

来自分类Dev

选择表中行对应的所有数据(SQL)

来自分类Dev

C#SQL未显示我已绘制的所有数据

来自分类Dev

获取SQL Server中两个日期之间的所有日期

来自分类Dev

带有数据集[asp.net,c#]的SQL Server新行

Related 相关文章

  1. 1

    有什么办法可以在所有数据库的sql server中作为整数工作

  2. 2

    SQL查询未获取所有数据C#/ ASP.net

  3. 3

    SQL查询按日期范围查找介于两个日期之间的所有数据

  4. 4

    Grails中的SQL查询可从两个具有外键关系的表中获取所有数据

  5. 5

    如何使EF.net筛选SQL Server而不是C#上的所有数据

  6. 6

    sql重复显示所有数据

  7. 7

    SQL删除所有数据

  8. 8

    选择sql table + AS的所有数据

  9. 9

    Linq union所有等效的SQL代码

  10. 10

    SQL查询从具有相同ID的不同表中获取所有数据

  11. 11

    获取目标C中两点之间的所有X,Y坐标

  12. 12

    最近30天的SQL Server数据及所有数据

  13. 13

    从SQL Server的所有数据库中获取表大小信息

  14. 14

    SQL Server-获取所有数据库和文件

  15. 15

    SQL Server-使用MDF和LDF文件位置获取所有数据库

  16. 16

    Rails和Oracle:执行sql语句并获取所有数据

  17. 17

    如何从SQL Server中的XML列中获取所有数据

  18. 18

    从SQL中的选定日期获取未来24小时的所有数据

  19. 19

    SQL内部联接获取列中的所有数据

  20. 20

    SQL查询可从多个表返回所有数据

  21. 21

    SQL-日期范围返回所有数据

  22. 22

    (T)SQL查询以筛选包含的所有数据集。

  23. 23

    显示PHP中的sql表中的所有数据?

  24. 24

    使用 SMO 遍历 SQL Server 中的所有数据

  25. 25

    如何在SQL行中显示所有数据

  26. 26

    选择表中行对应的所有数据(SQL)

  27. 27

    C#SQL未显示我已绘制的所有数据

  28. 28

    获取SQL Server中两个日期之间的所有日期

  29. 29

    带有数据集[asp.net,c#]的SQL Server新行

热门标签

归档