我将 IQueryable 转换为 ObjectQuery,然后调用 ToTraceString() 以获取实体 sql:
IQueryable<SomeItem> query = context.SomeItem
.Where(x => x.Timestamp >= start
&& x.Timestamp <= end);
string eSql = (query as ObjectQuery<SomeItem>).ToTraceString();
字符串的“WHERE”部分如下所示:
WHERE ([Extent1].[Timestamp] >= @p__linq__0) AND ([Extent1].[Timestamp] <= @p__linq__1)]"
有没有办法以实际 DateTime 值已经填充到 ESQL 而不是这些参数占位符的方式获取跟踪字符串?
我想拦截 Entity Sql 并使用原始 EntityDataReader 自己迭代结果。
谢谢。