获取Entity FrameWork生成的查询语句

 

例1: using System.Data.Objects;

   var queryObj = retailBill.RetailBillItems.where(t => t.Quantity>5);

   Console.WriteLine((queryObj as ObjectQuery).ToTraceString());

注意事项

1.由于命名空间System.Data.Objects属于程序集:System.Data.Entity.dll,因此操作前先添加程序集,支持.net framework 3.5及以上版本。
2.用一个变量存储IQueryable对象,注意where之后不能ToList(),否则就不是IQueryable。
3.通过ToTraceString()方法输入SQL语句。

 

例2:

  var queryObj = retailBill.RetailBillItems.where(t => t.Quantity>5);

   Console.WriteLine(queryObj.ToString());

 

参考过以下链接:

https://blog.51cto.com/boytnt/977417

https://www.cnblogs.com/xwj517537691/archive/2013/06/08/3125920.html

https://docs.microsoft.com/zh-cn/dotnet/api/system.data.objects?view=netframework-4.8

https://docs.microsoft.com/zh-cn/dotnet/api/system.data.objects.objectquery.totracestring?redirectedfrom=MSDN&view=netframework-4.8#System_Data_Objects_ObjectQuery_ToTraceString

 

posted on 2020-03-24 09:40  醉驾的猫  阅读(227)  评论(0编辑  收藏  举报

导航