S2.NET
S2Unitを使ってExcelからデータを読み込んでテストしているのですが、特定のカラムがどうしても読み込めずに悩みました。Seasar.NETのソースファイルを読んでみたところ、 private Regex illigalColumnNamePattern = new Regex("F[0-9]+$", RegexOptions.Com…
シート名に#{順序}と付けることで制御可能なのですが、シートの枚数が10枚くらいになってからSQLエラーが出るようになりました。1時間近く悩んで、ふとシート名を#1〜#10ではなく、#01〜#10にしてみるとビンゴ。数値ではなく文字列比較になっていたんですね…
Seasar.NETによるインスタンス管理ですが、outerの使い方を今頃知りました。コンテナの外側で生成したオブジェクトをGetComponentで取得出来るものなの?とか疑問だったんですが、InjectDependencyメソッドを使うんですね。(^^;diconファイル。
ASP.NETでSeasar.NETを使っているのですが、インスタンス管理をsessionにしたところコンテナの初期化時にエラーが発生して数時間悩みました。で、原因はインスタンス管理をsingletonにしているコンポーネントにインジェクションしていたというオチで、分かっ…
今日の大嵌りパート2。 S2Unit.NETでテストを楽しく簡単に これを使って、ロックの掛かった行に対するテストを書こうと思ったのですが。
S2.NETではRealProxyとDynamicProxyが選択可能なのでパフォーマンスの違いを見てみました。ポイントはDIコンテナの読み込み時間とAOPの割り込みコスト。
元々、EntityBuilderを作成したのは、S2Dao.NETのためだったりします。Entityクラスを作るだけでなく、対応するインタフェースまで自動生成して完成です。ちょっと時間が掛かりましたが、やっと目的を達成しました。
個人的には例外はキャッチしない方針なのですが、SQL関連の例外についてはそうも行きません。重複やNULL制約などは例外ではなくエラー扱いにしたいところです。 try { int cnt = IUserDao.Insert(user); } catch (SQLRuntimeException ex) { // SQLRuntimeEx…
型付DataSetが使えない場合のことも考えて他の案も調査することに。S2Dao.NETを使った場合、Pureなクラスを扱うことになります。サーバー側のロジックを組む分には、こっちの方が都合が良いくらいなんですが、これをクライアントに返すときにが問題。型毎にW…
こんなことが出来たらいいなぁ、と妄想。 namespace My.Dao { [Bean(typeof(User))] public interface IUserDao { // 楽観的ロック // WHEREにプライマリキーだけでなく、更新するカラムも追加する [OptimisticLock] int Update(User user, User before); //…
自分の仕事で使えないかとS2Dao.NETを調査中。 using System; using System.Collections; using Seasar.Dao.Attrs; namespace My.Dao { [Bean(typeof(MYTABLE))] public interface IMYTABLEDao { IList GetAllList(); } } S2Dao.NETはこんなインタフェースを…