.NetCore2.1人才网入门实战一:基础搭建与开篇.

 本节目标:建立数据库ZhaoPin,添加一张职位表Position; 使用VS建立项目,实现对表Position的增删改查.

 题外: 如果代码缩进在粘贴代码后出现错误,请按 CTRL-K-D 进行更正。

说明:先手工建数据库. 根据数据库生成实体.

1.创建数据库ZhaoPin,是手工建立的数据表

2.VS新建项目 ZhaoPin 采用 MVC模式.

  生成实体类和数据上下文.

Scaffold-DbContext "Server=.;Database=ZhaoPin;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

  Scaffold-DbContext "Server=.;Database=ZhaoPin;Trusted_Connection=false;User Id=zp;Pwd=zp635241;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

  生成指定的实体

Scaffold-DbContext "Server=.;Database=ZhaoPin;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Tables 表名1,表名2

  覆盖之前生成的加 -f

Scaffold-DbContext "Server=.;Database=ZhaoPin;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -f

  帐号密码方式登录数据库,增加账户密码

Trusted_Connection=  false; User Id=sa;Pwd=sa;

MultipleActiveResultSets=true 可以使数据库连接复用。这样就不怕数据库的连接资源被耗尽了。

  命令的方式生成经常会失败. build failed

发布问题:

Asp.Net Core发布到IIS下,需要.NET Core Windows Server Hosting 的支持。
官方下载地址:https://www.microsoft.com/net/download/core#/runtime 下载 runtime的

 

发布网站没有视图问题 在 项目名.csproj 添加 <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>

 

  发现有个VS扩展工具不错. EF Core Power Tools.根据数据库直接生成实体类.功能比较多,速度快.

3.有了实体类,和数据上下文,修改startup.cs 依赖注入和连接字符串的设置.

  startup.cs需要引入2个命名空间

using ZhaoPin.Models;
using Microsoft.EntityFrameworkCore;

 

  方法一:数据注入和连接字符串都在startup.cs中.

  var DbContext= @"Server=.;Database=ZhaoPin;Trusted_Connection=True;ConnectRetryCount=0";
  services.AddDbContext<ZhaoPinContext>(options => options.UseSqlServer(ZhaoPinContext));


  方法二:数据库连接放在appsettings 中的方法
  更新startup.cs

services.AddDbContext<ZhaoPinContext>(options =>options.UseSqlServer(Configuration.GetConnectionString("ZhaoPinContext")));

  更新appsettings.json

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "ConnectionStrings": {
    "ZhaoPinContext": "Server=.;Database=ZhaoPin;Trusted_Connection=True;MultipleActiveResultSets=true"

  }

}



此时基本配置已经完成,下面添加控制器 名称为 Positions.

添加控制器 选择

 

完成后,为了方便调试.我把端口号固定5000

 

完成后,项目已经可以正常运行.输入网址http://localhost:5000/Positions 即可访问

 

为了更好的调试.修改下默认路由让http://localhost:5000即可访问.

 

CodeFirst

2.首先创建好实体类,含链接字符串.

1.Add-Migration 启用

2.Enable-Migrations 生成数据cs文件.

3.updata-database 更新数据库,若报错再执行加-force

 

 

二.创建好实体与链接,配置Program文件.自动创建数据库.

public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;

                try
                {
                    var context = services.GetRequiredService<ZPContext>();
                    // using ContosoUniversity.Data; 
                    context.Database.EnsureCreated();
                }
                catch (Exception ex)
                {
                    var logger = services.GetRequiredService<ILogger<Program>>();
                    logger.LogError(ex, "An error occurred creating the DB.");
                }
            }

            host.Run();
        }

 

转载于:https://www.cnblogs.com/dxh0535/articles/9488577.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值