2012-01-12 14 views
0

Linq to Entity Frameworkを使用してプロジェクトを作成しました。しかし、私はLinqがSQLにEFより速いことを読んだ。だから私は私のプロジェクトをLinqからEFにLinqにSqlに変換できますか?.NETで "Linq to EF"を "Linq to Sql"に変換する

+3

なぜADO .NETを使用しないのですか? *これは、Entity Frameworkが未来であることにも言及する価値があります。 MSはLINQ to SQLにはもはや投資していませんが、公式に非難されたり、サポートが失われたとは思われません。 – Yuck

+0

Yuckと同じように、MSはLINQ to SQLを維持しているだけで、新しい機能を追加していないので(すべてのバグが修正されているわけではない)、LINQ to SQLへのアドバイスがあります。 LFは変わりませんが、EFは今後数年間でより速く、より良くなると期待できます。私はL2Sが好きで、最新のEFリリースでさえ欠けているいくつかの機能を持っていますが、新しいプロジェクトではEFを使用してください。 EFがあなたにとって遅すぎるかどうかテストしましたか? L2Sへの移行は私にとって早すぎる最適化のようです。 – Steven

答えて

0

私は "Linq to SqlはEFより高速です"とは考えていませんが、一般的に真です。データベース通信でパフォーマンスの問題が発生した場合は、SQL側でデータの保存/照会方法を改善できるかどうかを調べる必要があります(たとえば、必要に応じてインデックスを追加するなど)。

そうしないと、プロジェクトを翻訳する作業がうまくいかない可能性があります。

+0

私はL2SがSQL Server上でより速く実行される(特にクエリが非常に大きく複雑になる)より優れたSQLクエリを生成し、Expression Tree to SQL変換プロセスがより高速であることを見てきました。それでも私はLINQ to SQLへの切り替えは良い考えではないことに同意します。 – Steven

0

長期的なメンテナンス上の理由から、MicrosoftはLinq2SQLの新しい開発作業を事実上中断し、.NET 4以降のプロジェクトをEFに折り畳んでしまったため、EFからLinq2SQLへの移行は望ましくありません。現代的ではなく、積極的に開発されていないものに変換しようと努力する価値はありません。