SQL Server LocalDb利用する
LocalDbの作成
Visual Studioから「表示」-「SQL Server オブジェクトエキスプローラー」を表示する。
ローカルDBのデータベースより、新しいデータベースを作成
DB名とファイルの場所を指定して、作成する。
Visual Studioのプロジェクトに追加する。
一番簡単だったのはEntityFrameworkを利用する場合だった。 プロジェクトに新しい項目追加で「ADO.NET Entity Data Model」を追加する。 エータベースからEF Desiginerを選択し、対象のファイルを選択する。
新しいファイルを選択する場合は「新しい接続」より、対象ファイルを選択する。
プロジェクトにモデルデザイナが追加され、「App.config」に「connectionStrings」が追加されている事が確認できる。
<connectionStrings> <add name="App1DBEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|App1DB.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> </connectionStrings>
自動でプロジェクトにmdfファイルがコピーされて入り、filepathがDataDirectoryになってしまう。
※ 特定フォルダーのファイルを参照したい場合は、|DataDirectory|をローカルパスに変更し、プロジェクト内のmdfファイルは削除する。
※ connectionStringsをLocalDBのプロパティの接続文字列を設定しても同じ動作になる。
<connectionStrings> <add name="App1DBEntities" connectionString="(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\LocalDB\App1DB.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.EntityClient" /> </connectionStrings>
ソース
App1DBEntities db = new App1DBEntities(); foreach (Users item in db.Users) { Console.WriteLine(item.name); }
DBの最新情報更新
DBの最新状態をソースに反映する方法、Entity Data Model画面上で「エータベースからモデルを更新」で最新化できる。