0

nHibernate でログにクリーンなクエリを表示してもらいたいです。次のような 1 行ではなく、

select project2x0_.proj_id as proj1_10_0_, projwbs1_.wbs_id as wbs1_11_1_, project2x0_.proj_short_name as proj2_10_0_, project2x0_.project_flag as project3_10_0_, projwbs1_.wbs_name as wbs2_11_1_, projwbs1_.wbs_short_name as wbs3_11_1_, projwbs1_.proj_id as proj4_11_1_, projwbs1_.proj_id as proj4_0__, projwbs1_.wbs_id as wbs1_0__ from project project2x0_ left outer join projwbs projwbs1_ on project2x0_.proj_id=projwbs1_.proj_id where @p0=1;@p0 = True [Type: Boolean (0)]

次のような読みやすい形式で表示することをお勧めします。

select project2x0_.proj_id as proj1_10_0_
, projwbs1_.wbs_id as wbs1_11_1_
, project2x0_.proj_short_name as proj2_10_0_
, project2x0_.project_flag as project3_10_0_
, projwbs1_.wbs_name as wbs2_11_1_
, projwbs1_.wbs_short_name as wbs3_11_1_
, projwbs1_.proj_id as proj4_11_1_
, projwbs1_.proj_id as proj4_0__
, projwbs1_.wbs_id as wbs1_0__ 
from project project2x0_ 
left outer join projwbs projwbs1_
  on project2x0_.proj_id=projwbs1_.proj_id 
where @p0=1;

;@p0 = True [タイプ: ブール値 (0)]

特定のフィールドはすべて 1 行に収めることができますが、それで問題ありません。しかし、FROM、JOIN、および WHERE ステートメントが引き出されるのを見るのが本当に好きです。

これを、サードパーティのツールではなく、log4net の出力に含めたいと思います。

何か案は?

4

1 に答える 1

0

Configuration オブジェクトで "format_sql" プロパティを true に設定すると、必要な出力が得られます。

于 2012-09-09T19:27:04.320 に答える