.Net Core
Matters related to .Net Core
-
.net Core 2.0 and SQL via EF Core 2.0
So I can never remember the order that these goes in so Here we go:
A console App with .net Core/SQL Server/EF Core 2.0
– In VS 2017 – Create a in .Net Core a Console App (.NET CORE)
-Package Manager Console:Install-Package Microsoft.EntityFrameworkCore.SqlServer [Current Version was 2.0.1]Install-Package Microsoft.EntityFrameworkCore.Tools [Current Version was 2.0.1]Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design [Not sure this one is required]Now let’s say we have a database and table…. Let’s reverse engineer it!
Scaffold-DbContext “<that magic connect string>” Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
This is command that will use the <that magic connect string> and the provider Microsoft.EntityFrameworkCore.SqlServer with the code generation going into the Models sub-directory.Examples <that magic connect string>
For local DB and table: “Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;”
For a real SQL Server connection instance:
Scaffold-DbContext "Server=Orion;DataBase=Blogging;Integrated Security=False; User ID=sa;Password=****;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True; ApplicationIntent=ReadWrite;MultiSubnetFailover=False" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Also add the table parameter to get only certain tables -table Blogs, Post
So that was the Hard part… now some sample code:
Make sure you add using Microsoft.EntityFrameworkCore; And if you put the dbContext into it’s own folder, make sure you include the class namespace.
using System; using Microsoft.EntityFrameworkCore; using conAppSqlCore.Models; namespace conAppSqlCore { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); using (var db = new BloggingContext()) { foreach (var blog in db.Blog) { Console.WriteLine($"Name URL - {blog.Url}"); } } Console.ReadLine(); } } }