17

Linq-To-Sql の相対的な単純さと、Entity Framework のバージョン 1 で寄せられたすべての批判 (特に、不信任投票) により、「当面の間」Linq-To-Sql を使用することにしました。EF 4.0 がリリースされたので、EF 4.0 への移行を開始する時期が来ているのではないかと考えています。

質問:

  1. Linq-To-Sql に対する EF 4.0 の長所と短所は何ですか?
  2. EF 4.0 は最終的にプライム タイムの準備ができていますか?
  3. 今こそ乗り換え時?
4

2 に答える 2

18

まあ、終わりのない議論:-)

はい、私は EF4 が本格的な時期に向けて準備ができていると固く信じています。Microsoft は、EF の 1.0 リリースに関するほぼすべての煩わしさと問題に対処するという優れた仕事をしてきました。

すべての機能が必要な場合は、プライムタイムの準備ができています.

Linq-to-SQL は、非常に単純で飾り気のない、ナンセンスな OR マッパーです。1 つのデータベース テーブルを 1 つの CLR オブジェクトにマップします。それだけです。非常に基本的で直接的ですが、SQL Server 上のかなり薄いレイヤーです。

一方、EF4ははるかに優れています

  • オブジェクト空間の概念データ モデル
  • データベース層のストレージ データ モデル
  • 2 つの間のマッピング レイヤー
  • データベースに依存しない

そのため、(SQL Server だけでなく) 複数のデータベースのサポートが本当に必要な場合、またはデータベース構造をまったく異なるオブジェクト モデルに変換できることが本当に必要な場合は、EF4 から始めるのが最適です。

テーブル 1:1 をオブジェクトに簡単かつ迅速にマップするだけで十分な、シンプルで単純な中規模サイズのアプリがある場合、EF4 はシンプルさとパフォーマンスの点で Linq に近づくとは思えません。 SQLへ。

EF4 は素晴らしいです。そのパワーが必要な場合は、ぜひお試しください。

ただし、要件がはるかに少ない場合は、やり過ぎかもしれません.Linq-to-SQLを引き続き使用し(私はそうします)、それに満足しています。Linq-to-SQL をダンプする正当な理由は見当たらない。Linq-to-SQL は .NET 4 で完全に利用可能であり、いくつかのバグ修正と改善に恵まれており、少なくともあと数年は使用されるだろう。

于 2010-04-23T21:15:19.393 に答える
0

@marc_s、@DanM:

この投稿を広告と見なさないでください :) Linq to Sql の上級ユーザーの意見を知りたいだけです。

LinqConnect (Linq to Sql Server、Oracle、MySql、PostgreSql、SQLite) に 次の改善を実装しました。

- Complex Type  
- Many to Many  
- Batch update operations  
- Recursive support in DataLoad options  
- Query level preload (like Include in EF)  
- TPT support (in LinqConnect 2.0)  

また、二次キャッシュのサポートを追加する予定です。

これらの改善はあなたにとって価値がありますか?

于 2010-10-08T09:27:03.140 に答える