在 MSTest DataSource 中使用存储过程 (C#)

Using stored procedure in MSTest DataSource (C#)

提问人:user1979457 提问时间:10/9/2023 最后编辑:marc_suser1979457 更新时间:10/9/2023 访问量:29

问:

MSTest 单元测试是否有任何方法可以调用其属性中的存储过程,而不仅仅是引用连接字符串中的表?DataSource

TIA系列

C# 存储过程 数据源 MSTest

评论

0赞 Dai 10/9/2023
您的手术是否进行任何 DML?如果不是,那么它应该是一个 which 你可以通过一个你可以像任何其他基表一样查询来调用它。FUNCTIONVIEW
0赞 user1979457 10/9/2023
不确定什么是 DML?到目前为止,只想执行一个简单的 SELECT 语句。感谢您的回复,调用视图的代码会是什么样子的?与表相同的连接字符串,只是使用视图名称代替表名称?如果我可以以某种方式在我的 DataSource 中的 .Net 中运行查询,这也是一个可以接受的解决方案,但我还没有找到一种方法来做到这一点。
0赞 Dai 10/9/2023
“DML”是指像 、 或 - 这样的语句,即任何将更改写入数据库的内容,而查询仅执行只读操作。在 MS SQL Server 中,当您要重用查询时,它应该位于 a 或 a - 中,而不是 .(不幸的是,在内容农场层网站(如geeksforgeeks,w3schools等)中,有很多来自非专家的不良建议,这些建议告诉人们做错事(uggghhhh),这会导致混乱。INSERTUPDATEDELETEMERGESELECTSELECTFUNCTIONVIEWPROCEDURE
0赞 user1979457 10/9/2023
好的,当然可以,但我的问题是如何在 c# 中从数据源属性调用函数或视图?您可以使用以下语法从表中获取数据源 [TestMethod] [DataSource(“Data Source=database-server;初始目录=UnitTestData;Integrated Security=True;:“)] 但是,如果我希望它来自一个函数呢?
0赞 Dai 10/9/2023
的参数可以是 的名称,这是因为表和视图在 SQL 中是可以互换的。如果你有一个,那么你可以把它包装在一个新的中,为函数的参数提供合适的参数。tableName:DataSourceAttributeVIEWFUNCTIONVIEW

答: 暂无答案