zoukankan      html  css  js  c++  java
  • .NET EF Core2.0 (DBFirst)使用与配置

    本文环境:vs2017 win10 .NET CORE 2.14 

    其次,如果你是Windows7系统 那么需要升级你的Windows PowerShell到3.0+的版本

    然后你需要安装相关的工具包,从NuGet下载即可如下图:

    为了方便你们复制..我列一下:

    Microsoft.EntityFrameworkCore  EF框架核心包

    Microsoft.EntityFrameworkCore.SqlServer  sql数据库需要,类似的还有mysql、oracle。

    Microsoft.EntityFrameworkCore.Tools

    Microsoft.EntityFrameworkCore.Design  

    Microsoft.EntityFrameworkCore.SqlServer.Design

    然后,我们在VS的工具选项中,选择NuGet包管理器,选择程序包管理控制台

    输入命令行:

    Scaffold-DbContext "这里输入你的数据库连接字符串" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

    Models 是生成该项目下的Models文件内。

    这里面就是你的上下文对象和相关的实体类了.

    我们进到上下文对象,会发现自己的连接字符串是固化在这里面的,如图:

    连接字符串当然不能在这里写死,可以在Startup.cs里获取appsettings.json配置文件存在缓存里,直接使用。

    在配置文件里添加连接字符串

     "ConnectionStrings": {
        "SchoolConnection": "Server=*;database=***;pwd=***;uid=***"
      }

    然后我们在Startup中注入我们的上下文对象:

    在ConfigureServices()方法中注入,代码如下:

    public void ConfigureServices(IServiceCollection services)
            {
                Connection.Conndb = Configuration.GetConnectionString("SqlServer");
                //配置EF的服务注册
                services.AddDbContext<DbContext>(options =>
                    {
                        options.UseSqlServer(Connection.Conndb, //读取配置文件中的链接字符串
                            b => b.UseRowNumberForPaging());  //配置分页 使用旧方式
                    });
                services.AddMvc();
            }

    然后就可以像,EF6那样使用了

    Context db = new Context();
                var result = db.User.Where(a=>a.Id!=0);
                string str = null;
                foreach (var item in result)
                {
                    str += item.RealName;
                }
  • 相关阅读:
    Spring.NET学习笔记(4)对象作用域和类型转换
    spring 依赖注入有什么好处
    加入收藏和设为主页js代码
    hdoj_1027_code
    【C#.NET】ASP.NET状态管理之一:Cookie
    【C#.NET】自定义“验证码”控件(转)
    【C#.NET】C#六种集合性能比较
    【C#.NET】特性和属性
    【C#.NET】ASP.NET 2.0 数据绑定概述(转)
    【C#.NET】ASP.NET状态管理之三:Application
  • 原文地址:https://www.cnblogs.com/MR---Zhang/p/8393302.html
Copyright © 2011-2022 走看看