我已经能够DbSet使用此链接模拟来自Moq的实体框架.
但是,我现在想知道如何模拟对SqlQuery的调用.不确定这是否可行或者如何依赖于模拟的db上下文知道正在调用什么"查询".
以下是我想要嘲笑的内容.
var myObjects = DbContext.Database
.SqlQuery<MyObject>("exec [dbo].[my_sproc] {0}", "some_value")
.ToList();
Run Code Online (Sandbox Code Playgroud)
我目前还没有尝试任何东西,因为不知道如何开始嘲笑这个例子.
的嘲讽DbSet是下方再次重申,我可以正确模拟返回DbSet的MyObject的,但现在我试图嘲弄返回列表SQLQuery对MyObject的.
var dbContext = new Mock<MyDbContext>();
dbContext.Setup(m => m.MyObjects).Returns(mockObjects.Object);
dbContext.Setup(m => m.Database.SqlQuery... something along these lines
Run Code Online (Sandbox Code Playgroud)