Wie Moq Entity Framework SqlQuery aufruft
Ich war in der Lage zu verspottenDbSet
's von Entity Framework mit Moq mit diesemVerknüpfun.
Allerdings würde ich jetzt gerne wissen, wie ich den Aufruf von SqlQuery verspotten könnte. Ich bin mir nicht sicher, ob dies möglich ist oder wie es sich darauf stützt, dass der verspottete Datenbankkontext weiß, wie "Abfrage" aufgerufen wird.
Below ist, was ich versuche zu verspotten.
var myObjects = DbContext.Database
.SqlQuery<MyObject>("exec [dbo].[my_sproc] {0}", "some_value")
.ToList();
Ich habe momentan noch nichts ausprobiert, da ich nicht wusste, wie ich dieses Beispiel verspotten soll.
ie Verspottung desDbSet
ist unten und um es noch einmal zu wiederholen, kann ich die Rückgabe eines @ korrekt verspottDbSet
vonMyObject
ist, aber jetzt versuche ich, eine SqlQuery zu verspotten, die eine Liste von @ zurückgiMyObject
's.
var dbContext = new Mock<MyDbContext>();
dbContext.Setup(m => m.MyObjects).Returns(mockObjects.Object);
dbContext.Setup(m => m.Database.SqlQuery... something along these lines