Azure SQLデータベースに接続 アプリ編
概要
GWにリリースしたシステムのバグ修正や仕様調査とかの対応に追われる一週間でした!
ということで、前回の続きでアプリからAzure SQLデータベースに接続してみます。
環境
Visual Studio 2015
ADO.NETで接続
まずはこちらのサンプルのとおりにコンソールアプリから接続してみます。
static void Main(string[] args) { using (var connection = new SqlConnection( "Server=tcp:voyagerprogram.database.windows.net,1433;Data Source=voyagerprogram.database.windows.net;Initial Catalog=voyager01;Persist Security Info=False;User ID={your_username};Password={your_password};Pooling=False;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" )) { connection.Open(); Console.WriteLine("Connected successfully."); Console.WriteLine("Press any key to finish..."); Console.ReadKey(true); } }
前回すでにクライアントIPを許可してあるのでローカルからデバッグ実行で接続できました。
Connected successfully. Press any key to finish...
configファイルに書く場合もそのまま接続文字列のとこにコピペすればOKですね!
<connectionStrings> <add name="ConnectionString" connectionString="{接続文字列}" providerName="System.Data.SqlClient"/> </connectionStrings>
Entity Frameworkで接続
次にASP.NET WebアプリケーションでEntity Framework(version 6.1.3)から接続してみます。
ウィザードに従ってデータベースファーストでモデルを作成します。
コントローラのIndexメソッドはこんな感じ。ライフタイム短いので簡単なMVCのWebアプリです。
Azure SQLデータベース上のAdventureWorksからProductのデータを10件抜いてきます。
public ActionResult Index() { IEnumerable<Product> model; using (var context = new voyager01Entities()) { model = context.Products.Take<Product>(10).ToList<Product>(); } return View(model); }
これもローカルからちゃんと接続できて表示されました。