さまざまなデータベースのEntityFrameworkプロバイダーのリスト


82

どのプロバイダーがあり、それらを使用した経験

そこにある可能性のあるすべてのネイティブ.NETFramework Entity Frameworkプロバイダーと、デフォルトのLINQ2Entities(MS for MS SQL)と比較した制限について知りたいです。同じデータベースにもっと良いものがあれば。教えてください。このリストでこの投稿を更新します。

この投稿に直接プロバイダーを追加するか、回答を提供してください。他の人(私を含む)がリストに追加します。

エンティティフレームワーク1

Microsoft SQL Server Standard / Enterprise / Express

Microsoft SQL Server CE(Compact Edition)

  • プロバイダーはありますか?

MySQL

  • MySQLのコネクタ(バージョン6.0以降) -使用しているとき、私は問題について読んだSkip()Take()そしてSort()これについて誰も歓迎入力に彼らの経験/知識-同じ式ツリー内を。

    :MySQL Connector / NET Visual Studio統合は、VisualStudioのExpressEditionではサポートされていません。つまり、データベースエクスプローラーウィンドウでMySQLデータベースを表示したり、VisualStudioウィザードのダイアログボックスからMySQLデータソースを追加したりすることはできません。一部のユーザーは、これによりVisual StudioExpress内でEntityFrameworkとMySQLを使用する機能が制限されることに気付く場合があります。

  • Devart MySQLのキ繝ァ繝ヨ-私が読んだとしてMySQLのコネクタと同様の問題とそれのための非難のMSの両方試してみるには 、[これらの問題をすることになっている解い]

SQLite

PostgreSQL

オラクル

DB2

Sybase

Informix

ファイヤーバード

プロバイダーラッパー

Entity Framework 4(ベータ版

Microsoft SQL Server

  • MicrosoftのLinqto Entities 4-.net4.0およびVisualStudio2010に同梱。これまでのところ、EF4の唯一のプロバイダー

MySQL

SQLite

PostgreSQL

オラクル

Microsoft SQL Server Analysis Services(SSAS)


2
誰か-InMemoryプロバイダーはありますか?もちろん、利用可能なオプションは大幅に削除されます..しかし、何かが何もないよりはましですよね?
Pure.Krome 2010年

sqliteには、自動テストに最適なメモリ内データベースオプションがあり、高速、軽量、ほぼ完全な機能を備えています。
Jason Meckley 2012

1
おもしろい事実:これは、5つ以上の回答があり、利用可能なすべての回答の合計スコアが質問スコアの3分の1未満である、SOに関する数少ない質問の1つです。:)
dotNET 2016

回答:


3

DB2は機能しますが、私たち全員が当たり前と思っている、すぐに使用できる.NET機能の一部(メンバーシップおよびロール・プロバイダーを考えてください)を使用したい場合は、かなりの作業が必要になります。DB2は、ストアード・プロシージャーでは実際にはうまく機能しないため、パラメーター化されたインラインSQLも多数検討しています。

また、IBMのプロバイダーでパフォーマンスの問題が発生しました。DataDirectという会社から入手できる別のプロバイダーがあります。パフォーマンスが向上しているように見えますが、コストがかかります。速度が重要な外部向けのWebサイトのようなものの場合、コストはおそらく問題になりません。

DB2は、別のプラットフォームで構築している場合は優れたシステムであると確信していますが、.NETでうまく機能するようには設計されていません。すでにDB2と結婚していない限り、私は他の場所を探します。


3

DB2はまだEF4で動作するとは思いません。もしそうなら、誰かが私を訂正して、それがどのように行われたかを教えてください。DB2プロバイダーをデータソースダイアログに表示させることができません。


1
上のリストには、EF4に対するDB2のサポートは記載されていません。
Robert Koritnik 2010


2

IBMのデータサーバープロバイダーにはいくつかの制限があり、より複雑なクエリシナリオではイライラして壊れやすくなります。また、EDMXデザイナは、接頭辞「informix。*」が付いたInformixテーブルを処理しません。ここを参照してください:リンクテキスト



2

「スキップ/テイクと注文」の問題は、数か月前にDevartプロバイダーで修正されました。

EF4サポートに関する注意事項
現時点では、Visual Studio Beta1およびEF4Beta 1のサポートを提供しています。12月末から1月初めに、EF4をサポートするビルドをリリースする予定です。EntityFrameworkのサポートを理想的なものとは言えません。このORMは当初MSSQL Server用に設計されていたため、他のDBMSの驚異を考慮に入れる可能性は大幅に制限されています。

EFプロバイダーを実装する人が単に回避できない問題がいくつかあります。いくつかの例はここにあります。主な問題は、場合によってはEFランタイムによって生成されるCROSSAPLYおよびOUTERAPPLYステートメントに関連しています。他のDBMSはこのステートメントを提供しないため、変換で問題が発生します。また、レガシーデータベースの場合、EFは一般的に適用できないことも理解しておく必要があります。

我々は考慮に入れて、デフォルトのMicrosoftのデザイナーや船に満足されていないユーザエンティティの開発-強力な設計時ツール-当社の製品と。


プロバイダーは、パラメーターを受け入れる関数インポート(ストアドプロシージャ)で正しく機能しますか?MySqlのコネクタに問題があったためです。
Robert Koritnik 2009

現時点では、パラメータ化された関数のインポートを考慮した未解決のリクエストはありません。ただし、dotConnect for MySQLが要件を満たしていることを確認するには、当社のサイトから試用版をダウンロードしてください。EF v1で実際にもう1つ、関数のインポートだけでなく、結果セットを返さないプロシージャもサポートしています。これは、特定のコード生成とエンティティ開発者ツールによって達成されました。
Devart 2009

2

EF 7は、以下のDBプロバイダーをサポートします

•MicrosoftSQL Server

•SQLite

•MicrosoftSQL Server Compact Edition

•Npgsql(PostgreSQL)

•IBMデータサーバー

•InMemory(テスト用)

参照


かなり異なるため、これはEntityFrameworkCoreに名前が変更されたと思います:thedatafarm.com/data-access/…–
andrew pate

1

MySQLにはEF4用のコネクタがあり、現在のバージョンは6.3.5であり、その主な機能は正常に機能していますが、いくつかの方法でまだ問題があります。

  • System.Data.Objects.ObjectContext.CreateDatabase()
  • System.Data.Objects.ObjectContext.DatabaseExists()

そのため、モデルファーストのアプローチを完全に使用することは困難です。MySQLスクリプト(CreateDatabaseScriptメソッドで使用可能)を手動で編集することで可能です。MySQLチームはこれらのバグを解決することに熱心ではないようです。彼らの側からのコミットメントレベルが実際に何であるかはわかりませんが、確かに以前よりも低くなっています。

そうは言っても、同じメソッドはSQL CEでも失敗します(それらは実装されておらず、MSチームがすぐにそれに取り組む可能性は低いと思います)。


VS2010 / EF4のMySQLサポートの詳細については、次のページを参照してください:dev.mysql.com/doc/refman/5.1/en/…。MySQL Connector / Netバージョン6.3.2以降が必要になります。
mathijsuitmegen 2011

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.