efcore 配置链接sqlserver

本文将在asp.net core api 项目中使用efcore corefirst模式 简单配置链接sqlserver数据库,以及简单的数据库迁移操作

一 新建项目

1. 首先我们先用vs2017 创建一个空的 asp.net core api 项目

2.  在生成的解决方案下在建立一个访问数据库使用的类库CoreApi.Model,注意要选择.netcore下的类库,如图所示

二 添加相关引用

1. 打开nuget包的程序管理命令控制台,执行添加引用命令 ,注意执行时控制台的默认项目要定位为 CoreApi.Model

引用 EntityFrameworkCore

Install-Package Microsoft.EntityFrameworkCore

引用 EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore.SqlServer

引用 EntityFrameworkCore.SqlServer.Tools

Install-Package Microsoft.EntityFrameworkCore.Tools

三 相关配置

1. 在appsettings.json 文件中添加sqlserver的数据库链接配置,配置如下

{
  "ConnectionStrings": {
    "SqlServerConnection": "Server=.;Database=dbCore;User ID=sa;Password=abc123456;"
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

2.修改项目Startup.cs 文件 的ConfigureServices 方法,注意此处必须引用 using Microsoft.EntityFrameworkCore

以及using CoreApi.Model;

 // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var sqlConnection = Configuration.GetConnectionString("SqlServerConnection");
            services.AddDbContext<ApiDBContent>(option => option.UseSqlServer(sqlConnection));
            services.AddMvc();
        }

四 生成数据库

  1. 首先在CoreApi.Model下建立在UserInfo 用户模型
 public  class UserInfo
    {
            public int Id { get; set; }
            public string UserName { get; set; }
            public string Password { get; set; }
    }

2.  配置数据上下文

public class ApiDBContent : DbContext
        {
            public ApiDBContent(DbContextOptions<ApiDBContent> options)
                : base(options)
            {
            }
            public DbSet<UserInfo> Users { get; set; }
        }

3.  打开程序包管理控制台,执行 Add-Migration Migrations 命令,注意此时默认项目也必须定位CoreApi.Model,

如果顺利的话项目下应该会生成一个Migrations的文件夹并包含一些初始化生成数据库需要用的文件

4.执行 update-database 命令生成数据库,

五 简单的数据库迁移

  1. 我们新增一个Articles 模型  在userinfo中增加两个字段,使用命令将其更新至数据库,还是需要注意默认项目也必须定位CoreApi.Model,因为我们所有的数据库操作都是针对model层的
 public  class UserInfo
    {
            public int Id { get; set; }
            public string UserName { get; set; }
            public string Password { get; set; }
            public string Phone { get; set; }
            public virtual List<Articles> Articles { get; set; }
    }

    public class Articles
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string summary { get; set; }
        public virtual UserInfo  User{get;set;}

    }
  1. 我们执行 命令 Add-Migration migrationName 和 update-datebase   成功后刷新数据库可以看到表和字段都相应的加上了 ,当然还有外键

六 最后我们在数据库中初始化一些数据 然后使用efcore 请求数据

1. 在数据库初始用户数据

2.  构造函数方式初始化数据上下文, 简单修改ValuesController 下的 Get 方法

private readonly ApiDBContent _dbContext;

        public ValuesController(ApiDBContent dbContext)
        {
            _dbContext = dbContext;
        }
        // GET api/values
        [HttpGet]
        public JsonResult Get()
        {
            return Json(_dbContext.Users.Take(2).ToList()) ;
            //return new string[] { "value1", "value2" };
        }

3.  启动项目 请求get api

博主网址:http://www.siyouku.cn

本文永久更细地址:http://siyouku.cn/article/6818.html

时间: 2024-11-17 02:32:32

efcore 配置链接sqlserver的相关文章

php7.0.12 laravel 链接sqlserver数据库

https://www.microsoft.com/en-us/download/details.aspx?id=20098 下载最后一个,然后这个工具可以将dll扩展下载下来,选择一个空白的文件夹就可以,phpstudy默认是有了链接sqlserver的扩展的. 最重要的一项是要安装ODBC驱动,(Microsoft ODBC Driver for SQL Server) https://www.microsoft.com/en-us/download/details.aspx?id=3643

Javaweb项目链接sqlserver 2008R2时出现的一系列的错误

好久没有弄java,玩eclipse了,最近因为小小的原因,参加一个比赛,不得不把javaweb的东西又捡起来,所以不熟悉,再加上之前链接数据库都是用Oracle的,现在公司的电脑上又只是安装了sqlserver 2008R2,所以就试着,开发项目链接sqlserver 2008R2.从昨天晚,到今天晚,终于算是搞定了一系列的问题,当页面显示出来的一刹那,好开心.人生就像打怪兽,就得一关一关地过.仅此,记录一下,辛苦的这些岁月,这活在当下的大好青春. 01 五月 28, 2014 9:21:02

python利用pymssql链接sqlserver数据库

1.引入pymssql包 import pymssql 2.建立连接: conn = pymssql.connect(server=conf['db_address'], port="1433",user=conf['db_username'], password=conf['db_password'], database=conf['db_name'], charset="UTF-8") cursor = conn.cursor() 3.执行SQL语句: curs

ODBC链接SQLServer数据库

1 #include <QtSql/QSqlDatabase> 2 #include <QMessageBox> 3 #include <QSqlError> 4 #include <QSqlQuery> 5 #include <QDebug> 6 7 8 int main(int argc,char* argv[]) 9 { 10 11 // 方法一 :通过DSN建立连接.DSN即数据源名称. 12 //下面例子sql server上的dbHo

linux下 链接 sqlserver数据库 驱动的安装

1.必需安装freetds 安装pdo_dblib扩展首先需要安装freetds. freeTDS的最新稳定版是0.91,这个可以在官网上下载http://www.freetds.org/ ,也可以在http://download.csdn.net/detail/DLUTXIE/3663528下载 下载freetds wget  ftp://ftp.freetds.org/pub/freetds/stable/freetds-stable.tgz tar zxf freetds-stable.t

2019-04-29 EasyWeb下配置Atomikos+SQLServer分布式数据源

初次尝试: 配置Mysql时候使用的是Atomikos+DruidXADataSource,所以觉得配置SQLServer应该也是仅仅配置配置就够了,于是引入JDBC驱动依赖后,配置了文件 1 spring.datasource.system.xa-properties.dataSourceURL=jdbc:sqlserver://XXX;DatabaseName=XXX 2 spring.datasource.system.xa-properties.username=sa 3 spring.

tp3.2中配置链接多个数据库

config.php <?phpreturn array(   //'配置项'=>'配置值'   //缓存   //'DATA_CACHE_TYPE' => 'Memcache',    //'MEMCACHE_HOST'   => 'tcp://192.168.0.227:11211',      //'DATA_CACHE_TIME' => '3600',   'DEFAULT_CONTROLLER'    =>  'Index', // 默认控制器名称   'DE

php 链接 sqlserver 2005以上版本数据库

<?php /** * 数据库管理 * * @author [email protected] * @charset utf-8 * 不支持sqlserver2005(包括)以下的版本 */ class Db { /** * @var 数据库连接配置 */ private static $DbLink; /** * @var 数据库连接配置 */ private static $DbConfig; /** * @var 需要执行的SQL语句 */ private static $SqlStr;

C#链接SQLServer实现插入和查询数据源代码

数据的查询: private void FullTab() {         SqlConnection con1 = new SqlConnection();//创建数据库库链接             try             {                 String con = "server=.;database=common_wjdl;uid=sa;pwd=db2008mima";//定义数据库连接信息                 con1.Connect