.NET の同時実行性を簡単に処理できる、バランスの取れた ORM を探しています。また、スレッドセーフである必要があります。
推奨事項はありますか?この特定の ORM を選択する理由を詳しく説明してください。
.NET の同時実行性を簡単に処理できる、バランスの取れた ORM を探しています。また、スレッドセーフである必要があります。
推奨事項はありますか?この特定の ORM を選択する理由を詳しく説明してください。
現在使用するのに最適なのは、依然として NHibernate です。それは最も長く続いており (Java の Hibernate を参照)、ちょうどそれを成し遂げました。また、作業をより簡単にする多くのツールが現在出回っています。機能の点で LINQ to SQL を水から吹き飛ばします (使いやすさではありませんが)。バージョン 1 の Entity Framework は使用する準備ができていません。次のバージョン (Entity Framework 4.0) はさらに良くなり、公開されたら検討する価値があるかもしれません。
私はそれのスレッドセーフな部分を理解していませんでした.dbアクセスについて言及していると仮定すると、Nhibernateはこれを最もよく行うと思います(ただし、同時実行性の処理はORMの基本です)。
理想的には、それぞれが自分の番でパイを食べる世界に住みたいと思っています。残念ながら、それは実現しないでしょう。それまでは、これらの戦略の 1 つを Nhibernate で試してみます。
楽観的、ダーティ、バージョン管理、または悲観的
必要に応じてこれらを適用します。
ORM の選択は、その機能セットだけでなく、その背後にあるコミュニティとエコシステムがどれほど活発であるかに基づいている必要があります (ただし、それはコミュニティの要因です)。
さらに、NHProf、Linq to NH、Nhibernate SearchおよびNhibernate Validatorを見てください。
余裕があれば、IdeaBlade の DevForce は、ORM ツールを超える洗練されたフレームワークです。これは、LOB エンタープライズ アプリケーションに対する私の推奨事項です。
n 層環境向けのエンタープライズ .NET 開発および展開を可能にする包括的なプラットフォームです。洗練されたオブジェクトの永続性、クライアント側のキャッシュ、高度なデータ バインディング、ビジネス ルールの検証、オフライン/非接続操作のサポート、および Web サービスの公開と使用のサポートなど、多くの機能を提供します。また、ビジネス オブジェクト サーバー (BOS) も含まれています。これは、スケーラビリティとセキュリティを提供し、インターネットを介した .NET アプリケーションの n 層展開を可能にするアプリケーション サーバーです。
LLBLGen Pro は良いものの 1 つです。私は自分のプロジェクトでそれを使用していますが、うまくいっています。O/R Mapper を初めて使用するため、LLBLGen pro で利用可能な他の O/R Mapper を比較することはできません。無料ではありませんが、お金を使うには良いものだと思います。
これらのリンクが役立つ場合があります。
http://weblogs.asp.net/fbouma/archive/2004/03/06/85125.aspx http://www.llblgen.com/defaultgeneric.aspx
ただし、プロジェクトにどの O/R マッパーを選択したか教えてください。これは、将来の意思決定に役立ちます。