DataContextを使用してOracleデータベースに接続できますが、Oracleデータベースに対してクエリを実行するとエラーが発生します。生成されたSQLを調べましたが、これはMSSQL用であり、OraclePSQL用ではありません。
Oracleデータベースに対してLINQを使用するためのまともな使いやすいラッパーを知っている人はいますか?
いいえ、LINQ to SQL はほとんど MS SQL のみです。クライアント ドライバーと考えてください。
Microsoft は、Oracle および DataDirect が Oracle およびその他の非 MS データベース サーバー用のプロバイダーを開発するのを支援しています。
Devart の OraDirect ドライバーを使用します。ADO.NET エンティティ フレームワークのサポートが含まれています。ここから試用版をダウンロードできます。これに加えて、エンティティまたはエンティティ SQL に対して LINQ を使用できます。
これの価格設定は非常に開発者にとって使いやすく、開発者シートごとに支払い、好きなように使用できます.
このドライバーのもう 1 つの大きな利点は、Oracle クライアントをインストールせずに使用できることです。これは大きなプラスであり、価格だけでも価値があります。
@Greg: datadirect ドライバーも評価しましたが、パフォーマンスは低く、天文学的なコストがかかりました。
編集:最近、DevArt が LINQ をサポートするベータ版を発表したようです
長い検索の後、私はDbLinqを見つけたので、そのトリックを実行する必要があります。自分でやってみます。同じ解決策を探していたので、あなたの質問に出くわしました。それが役に立てば幸い。
組織ごと (開発者ごとではなく) のライセンス スキームを持ち、かなりしっかりしたドキュメント ライブラリと無料の試用版 (最大 8 エンティティ) があるように見えるLightspeedもあります。私は現在これをチェックしています。
あなたが調べているかもしれないことの1つは、DBにとらわれないと私が信じているMS Entity Frameworkを活用するLINQ to Entitiesがあることです。私はまだそれがどのように機能するかを自分で調べていますが、Oracle とやり取りする ADO.NET データ エンティティを作成できれば、そのエンティティに対して LINQ を使用できます。
Devart LinqConnectを試してください。この製品により、Oracle などと連携することができます。
ただし、エンティティへのLinqを見てください。Oracleテーブルにマップされたオブジェクトのコレクションをデータリーダーに入力させます。linq を使用して、非常に強力でシンプルかつ簡単な方法でそのコレクションを照会できます。大好きです。強くお勧めします。
ALinqを試してみませんか?http://www.alinq.org
コードプレックスを見てください: Linq To Oracle プロジェクト
Oracle、SQLite、MySQL、および SQL Server でかなりうまく機能する別のクロスデータベース ソリューションは、eXpress Persistent Objectsです。
少なくとも優れたプロバイダーが作成されるまでは、簡単な方法ではありません。
実際、MS は少なくとも OLEDB Linq プロバイダーを提供する必要があります。結局のところ、Linq to Sql は基本的に、デザイナー サポートを備えた IQueryable の実装です。