0

LINQ to SQLは軽量アプリケーションに適していると聞きました。しかし、私はStackoverflowのために使用されているLINQと、私が知っている他の.comの束(彼らとのインタビューから)を参照してください。LINQ to SQL - 軽量O/RM?

これは本当ですか?何百万もの電子商取引サイトのために、通常は何か複雑なもののために時々格納されたprocを除いて、ほとんどの場合基本的なCRUDを実行しているだけです.LINQ to SQLは十分に完成しており、パフォーマンス上十分です。電子商取引サイトでうまく動くほど十分に微調整されていますか?より良いアプローチのためにLINQ to SQLを使用する場合、DB側のパフォーマンスを調整する必要があると聞きました。 「軽量」O/RMソリューションの

1)意味/範囲/定義:

は、だからここは本当に2つの質問がありいったい「軽量」人々がにLINQを言うときどういう意味しますSQLは "軽量O/RM"であり、それは本当ですか?これはとても軽量の場合、なぜそれを使用して巨大な.comsの束を参照してください?

メジャー.coms(明らかにそれはそうであるように見える)を実行するのに十分であり、「軽量」のコンテキストが何であるかを決めるのはそのような一般的なステートメントです。

2)パフォーマンス:私は自分の.comに取り組んでおり、さまざまなO/RMを研究しています。 Entity Framework(まだ)を見ているわけではなく、ここでLINQ to SQLの基本を理解し、それが十分に効率的かどうかを判断したいだけです。私が考える問題は、生成するSQLを調整したり制御したりすることができないということです。

+0

「巨大な.com」が「軽量」を使用しないのはなぜですか? –

+2

@CoffeeAddict:このコンテキストでの軽量とは、機能が劣悪であることを意味します。 LinqToSqlは、Entity Framework、Hibernate、および他の多くの.NET ORMに比べて非常に機能が劣ります。 LinqToSqlを使用した場合の最大のリスクの1つは、最終的にはそれを超える可能性があり、最初のコミットメント後にORMを切り替えるのは高価です。 –

+0

マイケルに感謝します。私はそれがそれが意味するものだと思った。まあ、.comのためにそれはそれが成長しているのを見ません。私はいくつかの.comのために働いたことを意味し、ほとんどの場合単純なCRUD以外には何も起こっていません。 LINQのパフォーマンスにはない微妙な調整が心配です。 – PositiveGuy

答えて

2

LINQ to SQLを軽量として記述すると、それは十分に機能していると思いますが、それはやろうとしていないものです。私はこれが良いことだと思う、他のORMがあなたに任せようとする可能性のある余分なものは、ほんの少しの犠牲を払うだけなら、本当に必要なものではないからです。

たとえば、すべてのアプリケーションデータを1つのデータベースに保存することをお勧めします。これは、LINQ to SQLが、結合やその他の操作を実行できるようにするために必要なものです。しかし、いくつかの官僚機構のある環境で作業する場合、レガシーデータを移動させたり、一元的にデータを集中させたりすることを全員に納得させることができないかもしれません。最終的には、より複雑なORMが必要になり、間違いなくクラッパーソフトウェアになります。それは、必要なときにそのデータを整形できないかもしれない理由の1つの例に過ぎません。

巨大な.comが一貫した方法でやりとりを行い、ベストプラクティスに従えば、ORMを必要なだけ簡単にすることはできません。

+0

クール...意味があります。 – PositiveGuy

+0

NHibernateは、私が本当に必要とするよりも、箱から出してあまりにも多くのことを学ぶために複雑になるかもしれません。(私の仮定が正しいかどうかを判断しようとしています。たくさん)。私がやっているのは、シンプルなCRUDですが、SQL呼び出しの点では非常に複雑なものではありません。たぶんCRUD呼び出しよりも少ししかない時々あるprocですが、それはすべてです。 – PositiveGuy

+0

私はSQLにLINQを試してみます。私はあなたが必要としていることを見つけるだろうと思っています。本当にうまく働いています。私がそれを使って作ったすべてのORMのうち、確かに私のお気に入りの一つです。ストアドプロシージャを使用する必要がある場合は、これらをメソッド呼び出しにマップして出力をオブジェクトにマップすることが簡単にできます。 –