今すぐお試しください!

製品の詳細CData ADO.NET Provider for SAP Business One DI を確認して、無償評価版をダウンロード:

今すぐダウンロード

SAP Business One DI とのデータ連携ができるMVC アプリケーションの作成

この記事では、SAP Business One DI にデータ接続して、MVC Web アプリケーションでクエリを実行する方法を説明します。



この記事では、Visual Studio のウィザードを使って簡単なMVC(モデル・ビュー・コントローラ)プロジェクトを作成し、Entity Framework のメソッドを使うSAP Business One DI にcreate, read, update, delete (CRUD) コマンドクエリを実行する方法を説明します。

Entity Framework Model の作成

下記の手順に従って接続プロパティを保存し、データモデルのエンティティにテーブルをマップします。

  1. Entity Framework 6 をお使いの場合は、あらかじめプロジェクトに SAP Business One DI Entity Framework プロバイダーを登録してください。詳しくは、ヘルプドキュメントの「LINQ およびEntity Framework」をご参照ください。
  2. Visual Studio で新規MVC プロジェクトを作成[Internet Application]テンプレート、[Razor]ビューエンジンを選択します。この例では、プロジェクト名はMvcSAPBusinessOneDIApp です。
  3. デザイナーから.edmx ファイルを追加するには、[プロジェクト]>[新しい項目の追加]をクリックします。ADO.NET Entity Data Model を選択してモデルに名前を付けたら[追加]をクリックします。この例では、モデル名はSAPBusinessOneDIModel です。
  4. [Entity Data Model]ウィザードで、[EF Designer from database]オプションを選択します。[Entity Data Model]ウィザードが表示されます。
  5. [New Connection]をクリックします。ダイアログが表示されたらCData SAP Business One DI データソースを選択します。
  6. 必要な接続文字列プロパティを指定します。

    SAP Business One DI への接続には以下の接続プロパティを設定します:

    • DBServerType: 接続されているサーバーのタイプ。
    • Server: 接続先のSAP Business One サーバー。
    • CompanyDB: 接続先の会社。
    • User: LicenseServer に接続するときに使用されるユーザー名。
    • Password: LicenseServer に接続するときに使用されるパスワード。
    • LicenseServer (optional): Server と異なる場合。
    • UseTrusted (optional): TRUE に設定した場合、Windows 資格情報を介してSQL Server への接続を確立していることを示します。

    一般的な接続文字列は次のとおりです。

    Server=ServerName;DBServerType=MSSQL_2016;CompanyDB=SBODemoCA;User=manager;Password=manager;
  7. 接続に名前を付け、資格情報などのセンシティブ情報を接続文字列に含めるかどうかを選択します。簡略化のため、この例ではセンシティブ情報をWeb.config に保存しています。

  8. 必要なテーブルおよびビューを選択します。ここでは、OACT をインポートしています。また、オブジェクト名を複数形に変換するオプションは、チェックをはずしています。[Finish]をクリックして.edmx ファイルを作成します。
  9. プロジェクトをビルドして完成です。

コントローラーの作成およびメソッドとビューの生成

モデルの作成とプロジェクトのビルドが終わったら、以下の手順に従ってコントローラー、ビュー、および関連するCRUD メソッドを作成できます。 OACT テーブルに許可されたすべてのアクションのビューは、[Views]フォルダ内のOACT サブフォルダに.cshtml ファイルとして格納されます。

[ソリューション エクスプローラー]で[Controllers]フォルダを右クリックし、[追加]>[コントローラー]をクリックします。コントローラーにSAPBusinessOneDIController のような名前を付け、以下のオプションを設定します。

  • Template:次のオプションを選択します:'Controller with read/write actions, using Entity Framework'.
  • Model class:OACT を選択。
  • Data context class:SAPBusinessOneDIEntities を選択。

これで、プロジェクトを実行できます。[Index]ビューにアクセスするには、"SAPBusinessOneDI" をURL に追加します。

一からコントローラーを作成

このセクションでは、ほんの数行のコードでCRUD コマンドクエリをインプリメントする方法について説明します。利用可能なウィザードは、各ステップで詳しく説明します。

このチュートリアルを始める前に、エンティティデータモデルを作成しておいてください。SAP Business One DI へのコマンドを実行するために、コンテキストクラスのメソッドを使用していきます。[Entity Framework Data Model]ウィザードを使ってモデルを作成する方法については、前のセクションをご参照ください。 — これはモデルファーストアプローチです。 コードファーストアプローチの利用に関する詳細は、ヘルプドキュメントの「LINQ およびEntity Framework」をご参照ください。

  1. 次の例のSAPBusinessOneDIController のようにコントローラーを手動で作成するには、[ソリューション エクスプローラー]で[Controllers]フォルダを右クリックし、[追加]>[コントローラー]をクリックします。
  2. [Add Controller]ダイアログが表示されたら、[Template]メニューから'Controller with empty read/write actions' オプションを選択します。[Controller]フォルダ内にSAPBusinessOneDIController.cs が作成されます。

コンテキストの作成

以下のコードを追加し、コンテキストクラスをクラス変数としてインスタンスを生成します。この簡単な例では、コントローラーはコンテキストクラスのメソッドを直接呼び出してCRUD コマンドを実行します。

private SAPBusinessOneDIEntities db = new SAPBusinessOneDIEntities();

SAP Business One DI データエンティティの取得

レコードのリストをビューに表示するには、Index メソッドを以下のように書き換えます。このコードは、コンテキストクラスのToList() メソッドを呼び出して、レコードテーブルを表示するビューを返します。デフォルトでは、Index メソッドは空のビューを返します。

public ActionResult Index() { return View(db.OACT.ToList()); }

ビューを作成するには、Index メソッド内を右クリックし、[Add View]をクリックします。ウィザードが表示されたら新しいビューIndex.cshtml を作成します。作成されたビューは[Views]フォルダに格納されます。このビューをロードするには、.cshtml ファイルを右クリックして[View In Page Inspector]をクリックします。

[Add View]ダイアログでビューに名前を付け、以下のオプションを設定します:

  • Create a strongly typed view:このオプションを選択し、OACT タイプのビューを作成。
  • Model class:OACT エンティティ、OACT を選択。
  • Scaffold template:[List]を選択。このメニューオプションは、エンティティを表示するHTML テーブルを生成します。
 
 
ダウンロード