编程语言
首页 > 编程语言> > C#.NET Core入门

C#.NET Core入门

作者:互联网

目录

一. 项目创建

在这里插入图片描述

选择版本
在这里插入图片描述

如果没有对应的版本的话,需要到官网下载

https://dotnet.microsoft.com/download/dotnet-core/2.2

如果要想在Visual Studio中使用的话,需要下载的是SDK,而不是Runtime
在这里插入图片描述

下载完成后,可以在设置中找到刚才安装的SDK
在这里插入图片描述

选择空模板之后,点击确定项目就可以建立
在这里插入图片描述

运行之后,浏览器中显示Hello World!的话,就表示没有配置和初始化都没有问题

点击右键可以编辑.csproj文件
在这里插入图片描述

.csproj文件详解

在这里插入图片描述

默认配置

二. SQLLocalDB

当Visual Studio 2017安装之后,这个数据库就会安装在电脑中,这是一个轻量级别的Sqlserver数据库

我们在CMD窗口中输入

SQLLocalDB: 如果有提示消息弹出,说明这个数据库已经安装在电脑中了.

SQLLocalDB info: 可以查看当前有的数据库实例
在这里插入图片描述

SQLLocalDB info MSSQLLocalDB: 查看实例的详细信息
在这里插入图片描述

我们还可以通过Visual Studio来查看信息
在这里插入图片描述

如果没有MSSQLLocalDB的话,可以手动进行添加
在这里插入图片描述

添加完成之后的效果
在这里插入图片描述

新建一个数据库
在这里插入图片描述

获取连接字符串
在这里插入图片描述

配置数据库连接字符串
在这里插入图片描述

DbContext

EF Core通过继承DbContext的类来操作数据库

在这里插入图片描述

查看EF Core是否可用

dotnet ef是EF core的命令行工具

我们在命令行中输入dotnet ef,如果有消息弹出,说明Entity Framework Core是可以使用的
在这里插入图片描述

三. 数据库的迁移

Visual Studio2017的命令行

普通的命令行

Package Manage Console命令行位置
在这里插入图片描述

迁移命令执行完之后会生成两个迁移文件
在这里插入图片描述

通过迁移文件进行数据库生成
在这里插入图片描述

通过实体类生成的表
在这里插入图片描述

四.View

4.1 _Layout.cshtml

布局模板

布局模板的创建
在这里插入图片描述

模板内容

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
</head>
<body>
    <div>
        <!--
            我们制作的页面都会渲染到RenderBody()标记的地方
        -->
        @RenderBody()
    </div>

    <hr />

    <div>
        <!--
            指定一个渲染Section,名称叫bottom
            required: false => 表示并不是一个页面都需要有这一部分
        -->
        @RenderSection("bottom", required: false)
    </div>
</body>
</html>

使用模板

@using _02_Tutorial.Web.ViewModels;
@model HomeIndexViewModel;
@{
    // 动态的指定Title
    ViewBag.Title = "Home Index";

    // 指定此页面要使用的模板
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<ul>
    @foreach (var s in Model.Students)
    {
        <li>
            @s.Name (@s.Age)
            <a asp-action="Detail" asp-controller="Home" asp-route-id="@s.Id">明细Tag</a>
        </li>
    }
</ul>

<!--
    指定一个名称叫做bottom的section,把我们的代码块放到这里面
-->
@section bottom
{ 
    <div>
        <a asp-action="Create">添加一个学生</a>
    </div>
}

4.2 _ViewStart.cshtml

文件的创建
在这里插入图片描述

4.3 _ViewImports.cshtml

// 添加命名空间的引用,如果在此处引用的话,每一个页面就不需要单独引用了
@using _02_Tutorial.Web.ViewModels;

// 引用TagHelper
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

文件的创建
在这里插入图片描述

4.4 Partial

在这里插入图片描述

_StudentRow.cshtml

@*
    声明类型
*@
@model StudentViewModel

<tr>
    <td>@Model.Name</td>
    <td>@Model.Age</td>
</tr>

_StudentTable.cshtml

<!--声明@model的的类型-->
@model IEnumerable<StudentViewModel>

<table>
    <thead>
        <tr>
            <th>姓名</th>
            <th>年龄</th>
        </tr>
    </thead>
    @foreach (var s in Model)
    {
        @*
            使用TagHelper中的方法,把_StudentRow这个组件引入
        *@
        <partial name="_StudentRow" for="@s" />
    }
</table>

4.5 Component

在这里插入图片描述

新建一个组件-后端
在这里插入图片描述

组件的前端部分

文件夹和文件的名称要和后端代码对应起来

在这里插入图片描述

创建类

using _02_Tutorial.Web.model;
using _02_Tutorial.Web.Services;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace _02_Tutorial.Web.ViewComponents
{
    /**
     * 我们自己定义的组件继承自ViewComponent的父类
     * **/
    public class WelcomeViewComponent: ViewComponent
    {
        private readonly IRepository<Student> _repository;

        public WelcomeViewComponent(IRepository<Student> repository)
        {
            _repository = repository;
        }

        public IViewComponentResult Invoke(int a)
        {
            // a是通过前端传输过来的
            Console.WriteLine(a);

            // 查询所有学生的数量
            var count = _repository.GetAll().Count().ToString();

            /**
             * 注意:
             *  如果我们的count是字符串类型的话,直接当做View的第1个参数的话,就被当成视图的名称进行解析
             *  因此我们需要手动指定一下视图的名称,然后把count当做第2个参数传到View方法中
             * **/
            return View("Default", count);
        }
    }
}

五. 前端库的安装

前端库一般通过NPM的方式来安装

新建一个NPM的配置模板
在这里插入图片描述

我们新建完npm的配置文件之后,编辑器会在依赖项中添加一个npm的文件夹,因为开始时我们没有安装任何库,所以该文件夹会有警告提示
在这里插入图片描述

除了使用npm的命令行之外,我们还可以直接在package.json文件中直接写库的名称和版本号,Visual Studio会给我们自动下载
在这里插入图片描述

下载之后的依赖文件的路径并不是在npm包下面,我们可以使用查看全部文件的按钮,将隐藏的文件显示出来
在这里插入图片描述

Startup类中配置中间件,确保node_modules文件夹下的第三方库的静态文件可以被访问到
在这里插入图片描述

找到我们需要引用的css文件,直接拖拽到代码中,就可以自动完成引用
在这里插入图片描述

标签:Core,文件,C#,数据库,文件夹,cshtml,using,NET,迁移
来源: https://blog.csdn.net/feyehong/article/details/113097428