■66536 / inTopicNo.1) |
Seasar2のSQLでツリー構造を取得 |
□投稿者/ まめ (1回)-(2013/05/02(Thu) 14:47:13)
|
分類:[C#]
ツリー構造のデータを取得したいと考えております。 SQLSERVER2008 .NetFramework3.5 Seasar2 を使用しています。
実行したいSQLは以下のようなものです。 with Tree(Id, ParentId) as ( select Id, ParentId from T_SYSTEM where ParentId = /*parentId*/'a' union all select t1.Id, t1.ParentId from T_SYSTEM t1 join Tree t2 on t2.Id = t1.ParentId ) select * from Tree;
呼び出しは IList<SystemDto> FetchTree(string parentId);
上記のSQLをManagementStudioから実行すると取得したいツリーデータが取得できますが Seaserから実行(FetchTreeを呼び出す)すると SELECT T_SYSTEM.Id, T_SYSTEM.ParentId FROM T_SYSTEM WHERE T_SYSTEM.parentId = 'xxx' というSQLが実行されているようで、うまく取得できません。
次に同様のプロシージャを作成してみましたが http://s2dao.net.seasar.org/ja/dao.html#ProcedureAttr Procedure属性のDBMS対応にあるように戻り値は単一の数値でないとエラーになるようです。
このようなSQLを実行したい場合どのような設定を行えばよいのでしょうか。
|
|