web-dev-qa-db-ja.com

linqの.edmxファイルと.dbmlファイルの違いは何ですか?

Linqの.edmxファイルと.dbmlファイルの違いは何ですか?VS 2008では、どのデータソースがedmxまたはdbmlの最適な選択肢ですか?VS 2008でedmxファイルを使用すると問題が発生しますか?VS-2008でedmxを使用できますか?

53
user649802

edmxEntity Frameworkのモデリングファイルです。

dbmlLinq 2 Sqlのモデリングファイルです。

Linq 2 Sqlは非推奨なので、Entity Frameworkの学習に時間を費やす必要があります。

42
Mikael Östberg

.edmxはEntity Frameworkです。 .dbmlはLINQ-to-SQLです。一般的な目的は同じですが、まったく異なるフレームワークです。 Entity Frameworkはより新しいものであり、おそらく多くのイノベーションが行われるのではないかと思うので、学ぶのに時間をかけるのに最適な投資になるでしょう。

36
vcsjones

どちらも最新のテクノロジーとして導入されており、どちらを使用するかが少しわかりにくい場合があります。 Entity FrameworkとLINQ to SQLには多くの共通点がありますが、いくつかの点で互いに異なっています。

エンティティフレームワーク:
1。エンタープライズ開発:
2。データベースの概念モデルと連携:
3。すべてのデータソースで動作します。
4。 Entity Frameworkの使用中に「.EDMX」が作成されます。

LINQ ::
1。迅速なアプリケーション開発:
2。データベース内のオブジェクトで動作します:
3。主にSQL Serverの動作:
4。 LINQ to SQLの使用中に「.dbml」が作成されます。

Entity Frameworkは、パフォーマンスの一貫性やパーティション化などのストレージに関する考慮事項に対してスキーマが通常最適化されるエンタープライズ開発を対象としています。 Entity Frameworkは、疎結合で、既存のデータベーススキーマとは異なる可能性のあるアプリケーション指向のデータモデルを公開することを中心に設計されています。たとえば、単一のエンティティ(クラス)を複数にマッピングしたり、複数のエンティティを同じテーブルにマッピングしたりできます。 Entity Frameworkには、アプリケーションに追加されたときに「.edmx」(ADO.NET Entity Model)ファイルがあります。

LINQ to SQLには、主にSQL Serverに対する迅速なアプリケーション開発をサポートする機能があります。 LINQ to SQLを使用すると、既存のデータベーススキーマの厳密に型指定されたビューを使用できます。テーブル上でLINQクエリを構築し、結果を厳密に型指定されたオブジェクトとして返すことができます。 LINQ to SQLには、アプリケーションに追加されたときに「.dbml」(LINQ to SQL)ファイルがあります。既存のクラスを属性で装飾することにより、LINQ to SQLを使用できます。

[元のソース: https://parassanghani.blogspot.com/2011/01/entity-framework-vs-linq-to-sql.html]

14
Yogesh

LINQ to SQLには、主にSQL Serverに対する迅速なアプリケーション開発をサポートする機能があります。 LINQ to SQLを使用すると、既存のデータベーススキーマの厳密に型指定されたビューを持つことができます。テーブル上でLINQクエリを構築し、結果を厳密に型指定されたオブジェクトとして返すことができます。 LINQ to SQLには、アプリケーションに追加されたときに「.dbml」(LINQ to SQL)ファイルがあります。既存のクラスを属性で装飾することにより、LINQ to SQLを使用できます。

2
amit singh

定義のような文学を理解したことはありません。とにかく一番下の行はL2Sが軽量で、EFが重量です。意味L2SはSQLServerでのみ機能し、EFはそれ以上で機能します。

参照: L2SとEFの違い

0
Wahid Masud