私は現在、asp.net MVC 2 アプリケーションのアイデアのために Db4o をテストしていますが、続行する最善の方法についてよくわからないことがいくつかあります。
アプリケーションでエンティティを参照するために Id ではなく推測可能なルートを使用したいのですが、更新シナリオには何らかの Id が必要だと思います。
たとえば、私は欲しい
/country/1 の代わりに /country/usa
ただし、キー名を変更したい場合があります(おそらく国ではなく他のエンティティで)ので、フィールドを更新する前にオブジェクトを取得するための参照として使用する ID が必要だと考えています。他のコメントから、UUID を使用するには少し時間がかかるようで、問題を明確に分離するためにとにかく自分の ID を使用することを好むようです。
KandaAlpha プロジェクトの両方を見て、私はデザインのいくつかの側面にあまり熱心ではなく、[domainsignature] や EntityWithTypedId、IEntityDuplicateChecker、IHasAssignedId、BaseObject、および IValidatable などを使用する S#arp アーキテクチャのラインに沿ったものを好みます。それらのエンティティは、挿入/更新動作を制御します。これは、よりクリーンで拡張性が高く、検証をカバーし、コアおよびベース リポジトリ クラス内にうまくカプセル化されています。
では、S#arp アーキテクチャを Db4o に移植することは理にかなっているでしょうか。
また、Db4o でインデックス (上記のユニークなものを含む) を管理するためのベスト プラクティスはありますか? たとえば、モデル メタデータ ベースで、ブートストラップで DI を使用してロードする必要がありますか、それとも Automapper.CreateMap のようにロードする必要がありますか?
私が知っているその少しとりとめのない質問ですが、考え、アイデア、または提案された読み物は大歓迎です。
ありがとうマック