मैं डीबीकॉन्टेक्स्ट और डीबीसेट को नकल करने की कोशिश कर रहा हूं। यह मेरे पिछले यूनिट परीक्षणों के लिए काम करता है, लेकिन समस्या तब होती है जब मेरा कोड डीबीसेट पर दूसरी बार ToList विधि को कॉल कर रहा था।डीबीसेट मैक, टूलीस्ट को दूसरी बार कॉल करने के दौरान कोई परिणाम नहीं
पहला डीबीसेट। टोलिस्ट() मजाकिया परिणाम देता है। दूसरा एक 0 तत्व देता है;
var queryableData = new List<string>{ "a", "b", "c" }.AsQueryable();
var mockDbSet = new Mock<DbSet<string>>();
var q = mockDbSet.As<IQueryable<string>>();
q.Setup(m => m.Provider).Returns(queryableData.Provider);
q.Setup(m => m.Expression).Returns(queryableData.Expression);
q.Setup(m => m.ElementType).Returns(queryableData.ElementType);
q.Setup(m => m.GetEnumerator()).Returns(queryableData.GetEnumerator());
DbSet<string> dbset = mockDbSet.Object;
IQueryable<string> query = dbset;
//RESULTS: abc
var a1 = dbset.ToList();
foreach (var a in a1)
Console.Write(a);
//NO RESULTS
var a2 = dbset.ToList();
foreach (var a in a2)
Console.Write(a);
यह मुझे मार रहा था। ग्रेट कैच – RMD
यह मेरे लिए कुछ महीनों के लिए एक भालू रहा है। मैं अंत में एक ऐसी स्थिति में आया जहां मैं इससे बच नहीं पाया। इससे बहुत मदद मिली! –
इसने मेरे जीवन को इतना बेहतर बना दिया। धन्यवाद। –