.NET Clips - Somaのタグがつけられたエントリー
1
CLIPS

Soma 0.9.0.0 の新機能 - taediumの日記

2332日前に更新 aoki1210aoki1210 2334日前に登録
2011年05月05日 GMT 2011年05月03日 GMT
新機能は大きく言って2つあります。MicrosoftSQL Server Compact 4.0 と SQLite といった軽量RDBMSのサポート 動的オブジェクトへのマッピングのサポートMicrosoftSQL Server Compact 4.0 と SQLite のサポート 設定方法やデータ型のマッピングなどはドキュメントを読んでもらえればと思います。 ここでは、一番重要なトランザクションを絡めた典型的な使い方だけを紹介します。 C#で書くとこんなコードになります。 var db = new LocalDb(new Config()); using (var tx = new TransactionScope()) using (var con = db.CreateConnection()) { var emp = db.Find (詳細)
カテゴリー: ツール(VisualStudio/Expression) | クリック数: 17 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: F#, Soma
1
CLIPS

Soma 0.6.0.0 リリース - taediumの日記

2349日前に更新 aoki1210aoki1210 2357日前に登録
2011年04月18日 GMT 2011年04月10日 GMT
.NETのO/Rマッパー Soma 0.6.0.0 をリリースしました。 http://soma.codeplex.com/releases/view/64164 F#、C#、VB.NETで動作します。それぞれの言語ごとにサンプルプロジェクトを作ったので、それらを見ると使い方のイメージが湧くと思います。.NETのバージョンは4である必要があります。 http://soma.codeplex.com/SourceControl/changeset/view/39bffe048f03 今回の目玉は、Oracle Databaseのサポートです。これで、SQL Server、MySQLを合わせて3つのRDBMSをサポートすることになりました。全体のリリースノートは以下の通りです。Release NotesNew feature - Oracle Databaseをサポートしました。New feature - Oracleのシーケンスを使ったIDの生成をサポートしました。New feature - IsEnclosedプロパティをTableAttri... (詳細)
カテゴリー: ツール(VisualStudio/Expression) | クリック数: 6 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: F#, Soma
1
CLIPS

Soma 0.1.0.1 のクエリ機能の紹介 - taediumの日記

2396日前に更新 aoki1210aoki1210 2398日前に登録
2011年03月02日 GMT 2011年02月28日 GMT
■[Soma][F#] Soma 0.1.0.1 のクエリ機能の紹介 Somaは「Sql Oriented MApping framework」のアクロニムです。というわけでSQLを柔軟に発行できるのがアピールポイントです。今日はSomaの中心機能であるクエリ機能を紹介したいと思います。 SQLはS2Daoに由来する2 Way SQL(SQL文字列をそのままツールで実行して構文チェックでき、かつ、実行時には適切に書き換えてパラメータにバインディングしたり動的にSQLを組み立てられる、という2とおりの使いができるSQL)で記述できます。そして、結果セットはレコード型やタプル型にマッピングできます。たとえば、従業員の名前で検索する例はこうなります(ジェネリクパラメータのEmployeeはレコード型です)。 let empList = Db.query (詳細)
カテゴリー: DB(SQL/XML/永続化) | クリック数: 9 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: Soma
1
CLIPS

Soma 0.0.3.0 リリース

2590日前に更新 aoki1210aoki1210 2593日前に登録
2010年08月20日 GMT 2010年08月17日 GMT
Entity Frameworkを使いやすくするO/Rマッパー Soma 0.0.3.0をリリースしました。 http://soma.codeplex.com/releases/view/50678 今回のポイントは、セットアップがとても簡単になったことです。これまで、edmxファイルをビルドイベントで書き換えたり、専用の接続文字列を用意したりする必要がありましたがこれらは不要になりました。セットアップ方法はクイックスタートを参照ください。 あとは、こまごまとした機能を追加しています。バージョンNoの自動インクリメントストアドプロシージャの呼び出しサポートEntityに紐つかないRepositoryのサポートバッチ更新 ただ、ドキュメントが追いついていなくて。。。近日中に書く予定です。 (詳細)
カテゴリー: DB(SQL/XML/永続化) | クリック数: 9 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: Entity Framework, Soma
2
CLIPS

Entity Frameworkの不便なところ

2600日前に更新 aoki1210aoki1210 2602日前に登録
2010年08月10日 GMT 2010年08月08日 GMT
バージョン番号の自動インクリメント 楽観的排他制御のためにWHERE句に特定のカラムを条件として入れる機能はありますが、「バージョン番号」という考え方がないんですね。したがって、バージョン番号を自動でインクリメントする機能もありません。 これは不便なのでSomaで対応しようと思います。 使う側は、バージョン番号を意識することなく普通に更新処理を行います(CSDLにConcurrencyMode="Fixed"を設定しておく必要はあります)。 var employeeRepository = new EmployeeRepository(); var employee = employeeRepository.SelectById(1); Console.WriteLine(employee.VersionNo); // 0 employee.EmployeeName = "hoge"; employeeRepository.Update(employee); Console.WriteLine(employee.Ver... (詳細)
カテゴリー: DB(SQL/XML/永続化) | クリック数: 60 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: Entity Framework, Soma
1
CLIPS

最近のSoma

2605日前に更新 aoki1210aoki1210 2608日前に登録
2010年08月05日 GMT 2010年08月02日 GMT
ドキュメント書いたり、機能改善したりしています。 ドキュメントはまだ道半ばですが、「クイックスタート」と「SQLファイル」の項目はほぼほぼ終わり。http://soma.codeplex.com/documentation 機能改善は細かいものをいくつかやりました。Entity Frameworkが持っているキャッシュの機能を無効化。LINQ to Entityの簡易化。 ObjectContextを触らない(Disposeの自動化)IQueryable触らない(遅延実行しない)Includeをタイプセーフにキャッシュの機能を無効化 これは、すべてのクエリでMergeOption.NoTrackingを指定するようになったということです。これを指定するとオブジェクトコンテキスト(JPAだと永続コンテキストといったりしますが)にオブジェクトを溜め込まない。パフォーマンスあがります。そして、変更されたオブジェクトを覚えておいて後でまとめて更新系SQL発行という機能もなし。Insertメソッドを呼んだらINSERT文が発行され、Uupdateメソッド... (詳細)
カテゴリー: DB(SQL/XML/永続化) | クリック数: 12 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: CodePlex, Soma
1
CLIPS

Soma 1stリリース

2634日前に更新 aoki1210aoki1210 2637日前に登録
2010年07月07日 GMT 2010年07月04日 GMT
.NET Framework用O/Rマッパー? Soma 0.0.1.0 をリリースしました。 マッピングするところはADO.NET Entity FrameworkにおまかせなのでO/Rマッパーというと語弊があるかなぁ。 どんなものかはプロジェクトの概要(http://soma.codeplex.com/)に書きましたが、大きく次の2つの機能があります。S2Daoで有名な2 Way SQLに対応(SQLコメントでバインド変数を表したり条件分岐を表したり)SQLのログ出力に対応(自由にハンドリングできるようにしています) QuickStartのサンプルを用意したのでとりあえず動かしてもらうとイメージ湧きやすいと思い.. (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 15 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, CodePlex, Soma
1
CLIPS

SQLのログ出力できた

2638日前に更新 aoki1210aoki1210 2641日前に登録
2010年07月03日 GMT 2010年06月30日 GMT
Soma(http://soma.codeplex.com/)でSQLのログを出力を実装できました。 たとえばこんなコードを記述すると using (var context = new SampleEntities()) { context.Employee.Where(e => e.Id > 1).ToList(); Console.WriteLine("------------"); context.ExecuteStoreQuery (詳細)
カテゴリー: ツール(VisualStudio/Expression) | クリック数: 20 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: CodePlex, Soma, SQL, ログ
1
CLIPS

Domaを参考に作るSQL中心の.NET用Daoフレームワーク

2653日前に更新 aoki1210aoki1210 2656日前に登録
2010年06月19日 GMT 2010年06月15日 GMT
Domaを作った経験をベースにしつつあんまりDomaの実装にとらわれない形で作っていこうと思います。(ただし、API的にはあんまり違いはないと思います。基本的にDaoを介して、検索系はSQLファイルにマッピングし、更新系はデフォルトで自動生成になります。) 名前はSomaにしました。とりあえず、codeplexに公開しています。 http://soma.codeplex.com/ コードはコミットしてあるけど、まだプロトタイプみたいなものです。ぜんぜんできていません。 Domaでは避けたAOPですが、aptに変わるものとしてPostSharpを使おうかなーと検討中です。PostSharpは、実行時ではなくコンパイル時にコードをエンハンスするライブラリです。で、その際にコードをバリデーションできるので、Domaのように規約から外れたコードをチェックしてコンパイルのフェーズでエラーにできます。軽く試した感じだととても簡単に使えました。ドキュメントが比較的豊富でいい感じです。 課題は、ライセンスかな。軽く見た感... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 33 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: Dao, OSS, PostSharp, Soma, フレームワーク