zoukankan      html  css  js  c++  java
  • 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'管理员'
  • 相关阅读:
    webpack4系列之 【2. 踩坑--webpack 2.x升级至4.x】
    计算月份差方法封装
    局域网内访问另一台电脑上运行的代码
    npm遇到的问题--npm install 执行报错 /bin/git submodule update -q --init --recursive
    功能说明书
    第一次结对作业
    MathExam
    第一次作业
    2017《Java预备作业》02 计科1501 李晓燕
    2017《Java技术》预备作业 计科1501 李晓燕
  • 原文地址:https://www.cnblogs.com/libingql/p/9096267.html
Copyright © 2011-2022 走看看