22

SQL Azureに使用するORMについて、誰もがどのように考えているのか疑問に思っていますか?

私はLINQ-to-SQLの使用にかなり慣れており、SQLAzureで動作させることは可能だと思います。ただし、私の理解(間違っている場合は訂正してください)から、.NET Frameworkの将来のリリースでLinq-to-SQLにそれ以上の改善は行われませんか?

あるいは、エンティティフレームワークがあります...そしてMicrosoftCampからさらに離れたところにNHibernateがあります。

理想的には、追加の提案はすべて無料またはオープンソースである必要があります。TelerikのORMを見たことがありますが、これはもちろん商用製品です。

Google検索を行うことで各ORMの定義/利点を自分で取得できますが、どのORMが最適であるかについての人々の意見に興味がありました(上記のいずれでもない場合でも)

4

7 に答える 7

6

DataObjects.Netは SQL Azure をサポートしています。GPL の下で利用できます (ただし、LGPL ではありません。つまり、GPL が厳しすぎる場合は、商用ライセンスを取得する必要があります)。

于 2010-03-12T19:09:08.137 に答える
5

現在、AzureでNHibernateを使用しており、かなり良いと感じています。

NHibernateとDependencyInjectionの配管コードの大部分を提供するためにs#arpアーキテクチャを使用しているため、優れた強固な基盤でプロジェクトを非常に迅速に起動することができました。すべての人がそれはかなり苦痛がなかったと言いましたが、あなたが最初に始めたとき、NHibernateで少し急な学習曲線があるかもしれません。

Fluent NHibnerate(http://fluentnhibernate.org )をご存知かどうかはわかりませんが、これは優れたツールであり、ビジネスオブジェクトをデータベースに自動的にマッピングします。もちろん、必要な動作に合わせてカスタマイズすることもできます。

于 2010-03-12T11:48:40.180 に答える
5

私は最近、Entity Framework 4.0 の ORM/データ永続化への「コード ファースト」アプローチに夢中になりました。

間違いなく、EF4.0 は以前のバージョンの EF よりも何光年も先を行っており、EF は ORM 市場で真の競争相手になることができます。

PDC 2010の Hanselman のEF コード ファースト デモ スクリプトまたはScott Guthrie の Code First ウォークスルーを読んでください:)

于 2011-03-22T19:28:29.797 に答える
1

NHibernateをチェックしてください。おそらく今のところトップです。

それ以外の場合、優れたリソースは常にhttp://www.ormbattle.net/です。

于 2010-03-12T09:29:10.213 に答える
1

SQL Azure データベースで Linq-to-SQL を使用しています。クラスとデータベース テーブルの間に単純な 1 対 1 のモデルがあるため、これが最も単純なソリューションであり、問​​題なく動作します (いくつかの SQL Azure の不具合は別として)。

Entity Framework と LINQ to SQLの質問がその答えになります。

于 2010-03-12T09:34:00.377 に答える
1

ジェイミー、

Toby のように、私は EF を使用して成功しています。強くお勧めします。これを投稿するときに、スキーマのローカル バージョンからモデルを生成する必要があったことに注意してください。これは入札取引ではありませんが、言及する価値があります。これは将来変更されることを期待してください。

イアン

于 2010-03-24T17:18:22.393 に答える
1

私は Entity Framework 1.0 をかなりうまく使用してきましたが、特に POCO のサポートにより、4.0 はさらに優れていると確信しています (したがって、最初からコンテキスト関連のオブジェクトから解放されます)。どちらのバージョンでも、こつをつかむと、LINQ サポートは大きな違いをもたらします。

しかし、あらゆる ORM を単なるオプションと見なす必要があると言えます。Unit of Work および Repository パターンを使用するようにデータ アクセス レイヤーを設定し、お気に入りの Inversion of Control コンテナーを使用して特定の実装を注入すると、次のことが得られます。セットアップの手間は少し増えますが、長期的な自由度ははるかに高くなります。データがどこにあるのか、特定のレベルをどのように超えているのかなど、誰が本当に気にしているのか、それをどう処理するかが重要です

それは私が考えるものです...

トビー

于 2010-03-15T13:40:19.410 に答える