代码在ASP.NET Core中。 MVC控制器返回Json(someData)。 我试图在单元测试中检索数据。我能做的最好就是
string data = JsonConvert.SerializeObject(jsonResult.Value);
然后比较字符串。但我更希望得到一个对象或数组,以便能够进行更具体的比较。有趣的是,在调试器下我可以看到jsonResult.Value
的类型为Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable<MyType>
,甚至还有结果视图警告不要扩展它或者其他;如果我扩展它,我得到我想要的!在我的例子中,它是一个4元素的MyType
对象数组。但是,如果我执行from i in jsonResult.Value select i
之类的操作,我会收到错误
Could not find an implementation of the query pattern for source type 'object'.
'Select' not found
我希望有一种比比较JSON字符串更好的方法!
答案 0 :(得分:1)
尝试使用Cast方法
(from i in jsonResult.Value.Cast<MyType>() select i)
修改:更新回答
from i in ((IQueryable< MyType >)js.Value) select i