【发布时间】:2013-02-06 13:53:55
【问题描述】:
我正在尝试从实体框架获取带有参数的查询字符串以进行调试。不,我不会使用 EFProfiler,因为查询字符串需要在页面上作为输出可见。大多数查询是使用 ExecuteStoredQuery() 手动编写的。但是,将它们转换为 ObjectQuery 会产生 null。
例子:
ObjectResult<Parent> model = _context.ObjectContext().ExecuteStoreQuery<Parent>("SELECT * FROM Parents");
var objectQuery = model.AsQueryable() as ObjectQuery<Parent>;
objectQuery 为空。 ObjectContext() 是 datacontext 中的一个简单方法,如下所示:
return (this as IObjectContextAdapter).ObjectContext;
我已经用尽了自己的想法,并且从搜索中得到的任何东西都是......好吧,没用,因为似乎没有人遇到这个问题。请注意,查询会正确返回结果。
编辑:是的,我也应该提到这一点。
这样做:
var oq = m as ObjectQuery<Parent>;
给我这个:
无法通过引用转换、装箱转换、拆箱转换、包装转换或空类型转换将类型“System.Data.Objects.ObjectResult”转换为“System.Data.Objects.ObjectQuery”
当我认为它需要被转换为 AsQueryable() 时,由于显而易见的原因,它是 null。是我累了,忘了添加这个小细节。
【问题讨论】:
标签: c# .net entity-framework entity-framework-5