thisとthisに基づいて、Entity Framework 5.0 によって生成された SQL を取得するために次のことを行っています。
var query = from s in db.ClassesDetails
where s.ClassSet == "SetOne"
orderby s.ClassNum
select s.ClassNum;
var objectQuery = (System.Data.Objects.ObjectQuery)query; // <= problem!
var sql = objectQuery.ToTraceString();
ただし、2行目で次の例外が発生します。
Unable to cast object of type 'System.Data.Entity.Infrastructure.DbQuery`1[System.Int16]' to type 'System.Data.Objects.ObjectQuery'.
これらの SO 回答が投稿されてから、何か変更はありましたか? クエリを文字列として取得するにはどうすればよいですか? Azure SQL に対して実行しているため、通常の SQL プロファイラー ツールを実行できません:(