EntityFramework Core笔记:入门(1)
1. 安装运行环境
EntityFramework Core运行环境,安装NuGget包:
//Sql Server Database Provider PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer
//提供Add-Migration,Update-Database等Powershell命令 PM> Install-Package Microsoft.EntityFrameworkCore.Tools
2. 控制台程序
2.1 基础代码
实体类:Role.cs
using System; using System.Collections.Generic; using System.Text; namespace Libing.App.Models.Entities { public class Role { public int RoleID { get; set; } public string RoleName { get; set; } } }
DbContext.cs
using System; using System.Collections.Generic; using System.Text; using Microsoft.EntityFrameworkCore; using Libing.App.Models.Entities;namespace Libing.App.Models { public class LibingContext : DbContext { protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // 数据库连接 optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=Libing;Integrated Security=True;"); } protected override void OnModelCreating(ModelBuilder modelBuilder) { } public DbSet<Role> Roles { get; set; } } }
2.2 生成表结构
PM> Add-Migration InitialCreate
PM> Update-Database
2.3 运行代码
using System; using Libing.App.Models; using Libing.App.Models.Entities; namespace Libing.App { class Program { static void Main(string[] args) { using (var context = new LibingContext()) { var role = new Role { RoleName = "管理员" }; context.Roles.Add(role); context.SaveChanges(); } } } }
执行的SQL语句:
exec sp_executesql N'SET NOCOUNT ON; INSERT INTO [dbo].[Role] ([RoleName]) VALUES (@p0); SELECT [RoleID] FROM [dbo].[Role] WHERE @@ROWCOUNT = 1 AND [RoleID] = scope_identity(); ',N'@p0 nvarchar(100)',@p0=N'管理员'