Visual Studio Lightswitch は Oracle データベースに接続できますか?
-
26-09-2019 - |
質問
のすべてのデモ Visual Studio ライトスイッチ SQL Server を使用すると、Visual Studio Lightswitch を使用して Oracle からデータにアクセスできますか?
解決
Visual Studio Lightswitch は、Entity Framework を介して Oracle データベースに永続化できます。
Oracle データプロバイダー (ODP.Net)
Oracle の ODAC ツールには、Visual Studio アプリケーションで使用する Oracle Data Provider (ODP.Net) が含まれています。Entity Framework 4.1 および「Model First」アプローチをサポートする Oracle の最新ドライバー。
編集:「Code-First」または EF 4.2 をサポートしているかどうかは不明なので、ドキュメントを確認してください。そうは言っても、 これは無料で、Oracle によってサポートされているため、独自のものを開発したり、オープンソースのプロバイダー/ドライバーを使用したりする前に、ここから始めることを強くお勧めします。.
ノート:「11.2.0.2 Release 4」はそれをカットしますが、「11.2.0.3」はリリースされており、より安定しています。
サードパーティのドライバーは購入できます。
オープンソースプロバイダー
さらに、利用可能なオープン ソース オプションがいくつかあります。その 1 つは Github で見つけました。
チュートリアル MSDN:ライトスイッチをEF 4.1に接続する方法
他のヒント
はい、あなたは、エンティティフレームワークの第三部構成のプロバイダーを得ることができます。私は実際にこの週VSLiveでこの質問をします。
Entity Framework をサポートする最新の ODAC 11.2 リリース 4 (11.2.0.3.0) を使用しましたが、正常に動作します。
このエラーが発生した場合は、「内部例外メッセージ:接続はすでにローカルまたは分散トランザクションの一部です」
BScholz による 2 番目の投稿に従って問題を解決できます。 https://forums.oracle.com/forums/thread.jspa?threadID=2263095
基本的に、Oracle データ ソースに対して SaveChanges_Excuting と SaveChanges_Excuted を実装する必要があります。
- 「ファイル ビュー」に切り替えます (LightSwitch はデフォルトで「論理ビュー」を表示します)。
- Server プロジェクトに「System.Transactions」への参照を追加します。
- 「論理ビュー」に戻ります
- データソース名を右クリックし、「コードの表示」をクリックして部分クラスを編集します。
以下のコードをコピーして貼り付けます。
private TransactionScope _tscope; partial void SaveChanges_Executing() { _tscope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted }); } partial void SaveChanges_Executed() { _tscope.Complete(); _tscope.Dispose(); }
LightSwitchのトレーニングキット> WCF RIAサービスを経由して、代替のデータソースを使用して専用のエクササイズを持っています。
あなたはそれが役に立つかもしれません。