有没有办法在C#代码中的两点之间检索所有数据(Linq-to-sql)

有没有办法在C#代码中的两点之间检索所有数据(Linq-to-sql),第1张

概述我的内容如下: 我正在使用C#Asp.Net开发的一个系统(一个巨大的,巨大的,绝对成长的无论如何系统).我正在尝试开始创建一些单元测试来启动重构(相信,它需要重构(有一些控制器有10k,12k线). 问题是这个系统中的很多东西都与数据库有关(系统与数据库紧密耦合).数据库上下文在很多代码中实例化,而不是注入. 因此,我现在的观点是将一些数据模拟到本地MDB文件中以重构代码并创建具有自己的MDB的 我的内容如下:
我正在使用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文件中,并重构上面的单元测试以获得真正的单元测试.

反正有吗?

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

MiniProfiler.Current.GetsqlTimings();
总结

以上是内存溢出为你收集整理的有没有办法在C#代码中的两点之间检索所有数据(Linq-to-sql)全部内容,希望文章能够帮你解决有没有办法在C#代码中的两点之间检索所有数据(Linq-to-sql)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1231331.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存