linq to Entities,將查詢語句轉換為普通的SQL語句
阿新 • • 發佈:2019-02-10
using (testEntities MyEntity = new testEntities()) { #region linq to entities 內容練習3 var result = from s in MyEntity.stuinfo where s.username == "pkm" select new { username=s.username, age=s.age }; var psql = result.GetType().GetMethod("ToTraceString").Invoke(result, null);//得到原始sql語句 Console.WriteLine(psql); #endregion }
以下函式可以得到相同的結果:
/// <summary> /// 輸入生成的SQL語句 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="query">查詢結果的變數</param> /// <returns></returns> private static string GetSQL<T>(IQueryable<T> query) { return query.GetType().GetMethod("ToTraceString").Invoke(query,null).ToString(); } //請用方法 Console.WriteLine(GetSQL(result));