質問

のすべてのデモ Visual Studio ライトスイッチ SQL Server を使用すると、Visual Studio Lightswitch を使用して Oracle からデータにアクセスできますか?

役に立ちましたか?

解決

Visual Studio Lightswitch は、Entity Framework を介して Oracle データベースに永続化できます。

  1. 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 によってサポートされているため、独自のものを開発したり、オープンソースのプロバイダー/ドライバーを使用したりする前に、ここから始めることを強くお勧めします。.

    ODP.Net 11.2.0.3をダウンロード

    ODP.Net を使用した EF チュートリアル

    ノート:「11.2.0.2 Release 4」はそれをカットしますが、「11.2.0.3」はリリースされており、より安定しています。

  2. サードパーティのドライバーは購入できます。

    Oracle 用の docConnect

    DevArt の Oracle 用 ADO.Net プロバイダー

  3. オープンソースプロバイダー

    さらに、利用可能なオープン ソース オプションがいくつかあります。その 1 つは Github で見つけました。

    https://github.com/object/NorthwindOData


チュートリアル 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 を実装する必要があります。

  1. 「ファイル ビュー」に切り替えます (LightSwitch はデフォルトで「論理ビュー」を表示します)。
  2. Server プロジェクトに「System.Transactions」への参照を追加します。
  3. 「論理ビュー」に戻ります
  4. データソース名を右クリックし、「コードの表示」をクリックして部分クラスを編集します。
  5. 以下のコードをコピーして貼り付けます。

    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();
    }
    
scroll top