.NET Core コンソールアプリでの SQLServer LocalDB の使用
上記は dotnet コマンド を使って SQLite を使用するサンプルです。
以下に、Visual Studio を使って SQL Server(LocalDB) を使用する場合の手順を残しておきます。
Entity Framework Core のインストール、DB作成
Entity Framework Core をインストール
パッケージマネージャーコンソールから以下を実行
PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer PM> Install-Package Microsoft.EntityFrameworkCore.Tools
モデルを作成
Models.cs
public class BloggingContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=blogging;Trusted_Connection=True;MultipleActiveResultSets=true"); } } public class Blog { public int BlogId { get; set; } public string Url { get; set; } public ICollection<Post> Posts { get; set; } } public class Post { public int PostId { get; set; } public string Title { get; set; } public string Content { get; set; } public int BlogId { get; set; } public Blog Blog { get; set; } }
データベースの作成
パッケージマネージャーコンソールから以下を実行
PM> Add-Migration InitialCreate PM> Update-Database
この時点で Local DB が作成されます。
データベースへのアクセス
以降は通常の Entity Framework の作法でアクセスが可能です。
Program.cs
public static void Main() { using (var db = new BloggingContext()) { db.Blogs.Add(new Blog { Url = "http://blogs.msdn.com/adonet" }); var count = db.SaveChanges(); Console.WriteLine("{0} records saved to database", count); Console.WriteLine(); Console.WriteLine("All blogs in database:"); foreach (var blog in db.Blogs) { Console.WriteLine(" - {0}", blog.Url); } } }