27
2012
08

linq to Entities,将查询语句转换为普通的SQL语句

.Net Code:

            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));




版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。