NhibernateとLinqの違い

Anonim

Nhibernate vs Linq

LINQ

LINQはLanguage-Integrated Queryの略です。基本的に、LINQは、オブジェクト指向プログラミングモデルのコンテキストで現在のデータベース開発モデルを扱います。しかし、Linqは完全なオブジェクトリレーショナルマッピング(ORM)ツールではないため、LINQの包括的なサポートには、使用言語の拡張が必要です。そのような拡張は、出力と効率を向上させ、データを操作するために、より短く、意味があり、より表現力豊かな構文を提供します。

<! - 1 - >

LINQは、どのようなMicrosoft NET言語にもファーストクラスの概念としてクエリを導入するプログラミングモデルです。つまり、主にMS SQL Serverで使用されるクエリ言語と見なされます。 Linqは、データベースの必要性があまりない小規模なアプリケーションでは、むしろ便利です。

NHibernate

NHibernateは、MicrosoftのオープンソースオブジェクトリレーショナルマッピングまたはORMソリューションです。 NETプラットフォーム。これは、JavaのHibernateライブラリと同様に開発されています。 NETフレームワークオブジェクトを基になるデータベースとの間でやりとりします。

<! - 2 - >

主に、データベースではなくドメインに焦点を当てた開発者を対象としています。 NHibernateは、ほぼあらゆるデータベース管理システム(DBMS)に適用することができます。インテリジェンスなしで不利な立場にあるNHibernateは、クエリ言語が限られています。それにもかかわらず、テーブル構造にマッピングできるオブジェクト定義の種類に関しては非常に柔軟です。 NHibernateは、データアクセスに関して多くの側面を微調整できるので、より多くのオプションを提供します。それはほとんど無限です。

<! - 3 - >概要:

1。 Linqでは、データベースはすでに存在しており、関係やプログラミングはデータベースの定義方法に依存します。 2。 Linqとは異なり、NHibernateはオープンソースです。 3。 NhibernateはORMツールですが、Linqは追加の拡張が必要な​​ため、不完全なORMツールです。 4。 Linqは主にクエリ言語であり、NHibernateはクエリ言語が限られています。 5。 Linqは、データベースに大きな依存性がない小規模なアプリケーションではるかに役立ちます。 6。 NHibernateは非常に柔軟性があり、より多くのオプションを提供します。