ASP.NET MVC の Entity Framework で Oracle 既存DB 使いたい
まずは準備
ツール -> NuGet パッケージマネージャー -> パッケージマネージャーコンソール
で、ODACをインストールしておく。
PM> Install-Package Oracle.ManagedDataAccess
あとついでに
ツール -> NuGet パッケージマネージャー -> パッケージマネージャー設定 -> パッケージソース
で、以下を追加しておく。
名前 | NuGet |
ソース | https://api.nuget.org/v3/index.json |
ここまで終わったら、
ツール -> NuGet パッケージマネージャー -> ソリューションのNuGetパッケージの管理
で、「oracle」で検索して、いかがインスト済みか確認までしておく。
名前 | 作成者 |
Oracle.ManagedDataAccess | Oracle |
Oracle.ManagedDataAccess.EntityFramework | Oracle |
web.configで接続先の設定、書いておく。
<oracle.manageddataaccess.client> <version number="*"> <dataSources> <dataSource alias="ORCL" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " /> </dataSources> </version> </oracle.manageddataaccess.client> <connectionStrings> <add name="OracleDbContext" providerName="Oracle.ManagedDataAccess.Client" connectionString="User Id=scott;Password=tiger;Data Source=ORCL" /> </connectionStrings>
そして一応、ソリューションをビルドして、VS再起動しておく。
こんな記事もあるけど、やっぱりOracle Developer Tools for VS2015のインスト、いりそう。
http://stknohg.hatenablog.jp/entry/2014/11/02/173039
結果>
ODT for VS2015 インストしていないとOracleDBに繋がらないみたい。
モデル > 追加 > 新しい項目 で、「ADO.NET Entity Data Model」を選択する。
データソースとかダメなので、現在使用中のtnsnames.oraをどうこうしてやる。
エラーが出るので、ディレクトリに対して権限を与える。
一旦ここまで。
ASP.NET MVC 、既存DB、開発したい。
スキャフォールディング機能を使ってアプリ開発
CRUD対象となるデータモデルは前回、既存DBから作ったので、準備OKという事で。
コントローラを作るところから始める。
ソリューションエクスプローラーからControllersで右クリックして、追加⇒コントローラー。
Entity Framework を使用した、ビューがある MVC 5 コントローラー を追加ボタン押下して、色々入力する。
モデルクラスには、CRUD対象となるモデルを指定する。
データコンテキストクラスには、対応するコンテキストを指定する。
スキャフォールディングで、勝手にコントローラー内のメソッドに対応したビュースクリプトがView/コントローラー名/配下に作成される。
Index.cshtmlを開いてみると、ここまでビュースクリプトが自動作成されている。
ここで、実行できるかどうかを確認してみる。(Ctrl+Shift+w)
ちゃんと表示された。Visual Studioすげー。
今回はここまで。(これをベースに手を加えていく)