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; }
    }
}
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'管理员'
posted @ 2018-05-27 15:40  libingql  阅读(664)  评论(0编辑  收藏  举报