.NETデータ層を構築するためのMicrosoftの現在のベストプラクティスは?そして現実?


13

私が作業している開発チームはすぐに.NET 4.0に移行しますが、使用するデータアクセスクラスライブラリは、引き続きADO.NETの「クラシック」、つまりSqlDataReader、DataTableなどを使用します。一方、Microsoftのように思われ、おそらく世界の他の地域ではEntity FrameworkとWCF Data Servicesが前進しています。MSDNで、マイクロソフトがベストプラクティスと見なしているデータアクセステクノロジーを示すものは何も見つかりませんでした。

マイクロソフトには好みがありますか?現在、ほとんどの人はどのデータアクセスを使用していますか?ADO.NETクラシックにとどまり、Entity Frameworkに移行しない正当な理由はありますか?


良い質問。ワン・ニット:「データ層」はより正確な用語かもしれません。「階層」は、別々のボックスで実行可能な分散システムの一部を意味する場合もあります。
アジェグロフ

1
@azheglov、「データ層」は私の最初の考えでしたが、その後これを見て、MSDNで見た用語msdn.microsoft.com/en-us/library/bb384398.aspxを使用することにしました。ただし、データレイヤーの方が正確であることに同意します。
T.ウェブスター

ウェブスター:
調査

回答:


4

私の会社では、EFを使用しています。これは、私たちの小規模プロジェクトに適した素晴らしいORMです。実際には、人々はEFまたはNHibernateを使用しています。どちらのフレームワークも優れています。EFは優れたMSサポートを備えており、Visual Studioにバンドルされた優れたツールを見つけることができます。NHibernateはEFよりも優れていると考えられていますが、より大きな「学習曲線」があるため、より多くの時間を採用することになります。

Ado.Netの「クラシック」を使用している場合は、EFを試してください。簡単なプロジェクトを作成し、いくつかのDALメソッドを置き換えます。仕組みと、コードの管理/変更方法を確認してください。単純な「SqlDataReader」メソッドと比較して、どちらが優れているかを判断します。すべてのテクノロジーシフトは採用に時間がかかるため、この変更が長期的に企業にとって有益かどうかを計算する必要があることに注意してください。


5

私のチームは、EFに移行するという現実に少し苦痛を感じています。EFが悪いまたは役に立たないからではありませんが、既存のデータレイヤー(かなり大規模な)をADO.Netフレームワーク2.0からEFに由来する厳密に型指定されたデータセットに変換する範囲は、実際には得られない集中的な作業にすぎません何でも。新しいものについては、私たち全員が意見と目標を持っているため、まだかなり引き裂かれています。Silverlightプロジェクトでは、EFおよびRIAサービスのみに焦点を当てていますが、Webプロジェクト(webformsおよびMVC 3)では、主にLinq2Sqlを使用しています。

Linq2Sqlを使用して頭痛の種を減らし、開発を高速化していますが、MicrosoftがEFアジェンダ(特にWCFおよびRIAサービス)を推進していることは知っています。Linq2Sqlはどこにも行きませんが、すべての新しいおもちゃとクールな機能はEFに集中します。早い段階で選択肢があれば、EFを開始するのに適した場所になると思います。既にミッドストリームの場合、切り替えが非常に簡単になることはわかりません。


3

Entity Frameworkが推奨される方法です。LinqToSqlはサポートおよび保守されますが、今後の開発の焦点はEntity Frameworkにあります。ADO.NET Entity FrameworkとLINQ to SQLの選択


現在何を使用していますか?
T.ウェブスター

2
私は誰もがlinq2sqlを使用していると思う
cnd

@nCdy:私たちのチームの一部のメンバーは、Linq2Sqlがあまりにも「おしゃべり」であると非難していますが、EFはL2Sがバイパスするだけの不要なジャンクを自動生成すると考えています。
ジョエルイーサートン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.