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; }
}
}
Role.cs
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'管理员'