CodeFirst从零开始搭建Asp.Net Core2.0网站

一步步教大家如何搭建Asp.Net Core2.0网站,以下所有都是建立在.NETCore2.0环境已经搭建好

右键解决方案>新建项目>

选择Web>ASP.NETCoreWeb应用程序(.NET Core)

CodeFirst从零开始搭建Asp.Net Core2.0网站

选择Web应用程序,暂时不选择启用Docker,身份验证选择个人用户账户(会自动生成一系列和用户认证的代码)

CodeFirst从零开始搭建Asp.Net Core2.0网站

CodeFirst从零开始搭建Asp.Net Core2.0网站

随后生代码层次目录如下:

CodeFirst从零开始搭建Asp.Net Core2.0网站

其中会包含身份信息的相关实现,比如相关实体信息(user)之类的,如果想对扩展微软自动的生成的用户实体类,可在Models中的ApplicationUser下扩展,在此ApplicationUser中添加属性即可:比如添加叫WeChatId属性,添加后如下:

using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Identity; namespace DotNetCore20.Web.Models { // Add profile data for application users by adding properties to the ApplicationUser class public class ApplicationUser : IdentityUser { /// <summary> /// 微信Id /// </summary> public string WeChatId { get; set; } } }

在之后生成运行并迁移,数据库的AspNetUsers中就会多出WeChatId 属性.

一:安装引用

nugnet恢复引用失效时,可在程序包管理控制台输入:

dotnet restore 即可

CodeFirst从零开始搭建Asp.Net Core2.0网站

会发现在恢复指令后在NuGet中会有一个Microsoft.VisualStudio.Web.CodeGeneration.Design的报错,信息如下:

已使用“.NETPortable,Version=v0.0,Profile=Profile259, .NETFramework,Version=v4.6.1”而不是项目目标框架“.NETCoreApp,Version=v2.0”还原了包“Microsoft.Composition 1.0.27”。这可能会导致兼容性问题

这个库是ASP.NET Core的代码生成工具。包含用于生成控制器和视图的dotnet-aspnet-codegenerator命令,暂时可先卸载,不影响项目运行.

对项目类库的引用有以下几种方式

1.Nuget去安装(官网https://www.nuget.org/packages/)

2.右键依赖项点击菜单中的添加引用

3.可在程序包管理控制台输入:Install-Package引用类库名称

4.可右键编辑csproj工程文件进行添加,然后执行dotnet restore

CodeFirst从零开始搭建Asp.Net Core2.0网站

二.创建实体程序集

右键解决方案>添加项目>

CodeFirst从零开始搭建Asp.Net Core2.0网站

首先创建抽象类,供Entity实体继承,主要为每个实体提供公用属性

using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; using System.Text; namespace DotNetCore20.Entity.Core { /// <summary> /// DB表基底 /// </summary> [Serializable] public abstract partial class BaseEntity { /// <summary> /// Id /// </summary> [DataMember] public long Id { get; set; } /// <summary> /// DB 資料版號 /// </summary> [Timestamp] public byte[] RowVersion { get; set; } /// <summary> /// 创建时间 /// </summary> [DataMember] public DateTime CreateTime { get; set; } /// <summary> /// 更新时间 /// </summary> [DataMember] public DateTime UpdateTime { get; set; } /// <summary> /// 状态 /// </summary> [DataMember] public EnumState State { get; set; } } /// <summary> /// 状态 /// </summary> public enum EnumState { /// <summary> /// 删除 /// </summary> Delete = 1, /// <summary> /// 正常 /// </summary> Normal = 0, } }

添加一个UserExtend用户扩展类(Entity):

using DotNetCore20.Entity.Core; using System; using System.Runtime.Serialization; namespace DotNetCore20.Entity { [DataContract] public class UserExtend : BaseEntity { /// <summary> /// 用户Id /// </summary> [DataMember] public long UserId { get; set; } /// <summary> /// 昵称 /// </summary> [DataMember] public long NickName { get; set; } } }

三.创建数据层

CodeFirst从零开始搭建Asp.Net Core2.0网站

添加引用

DAL层需要用到EF实体映射相关和我们自己前面定义的Entity中的UserExtend实体表,所以要添加相关引用,DotNetCore20.Entity和 Microsoft.EntityFrameworkCore.Tools

快捷键:Ctrl+Alt+o 打开程序包管理器输入以下:

install-package Microsoft.EntityFrameworkCore.Tools

如果是网络限制下载失败,推荐把nuget镜像改为博客园资源,方法如下:

右键解决方案>管理解决方案的nuget程序包.显示如下:

CodeFirst从零开始搭建Asp.Net Core2.0网站

新建一个数据上下文类,目录结构如下:

CodeFirst从零开始搭建Asp.Net Core2.0网站

DotNetCoreDbContext内部代码改为以下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdpgzy.html