[ENGLISH](https://github.com/anjoy8/Blog.Core/blob/master/README-en.md) | [中文版](https://github.com/anjoy8/Blog.Core/blob/master/README.md) ![Logo](https://github.com/anjoy8/Blog.Core/blob/master/Blog.Core/wwwroot/logocore.png) 从零开始搭建自己的前后端分离【 .NET Core2.2 Api + Vue 2.x 】框架。(🔒目前是2.2版本,因作者开源的项目较多,维护成本过高,所以本项目其他分支不再提供支持🔒) 如果你感觉看着这整个项目比较费劲,我单抽出来了几个子Demo,方便学习,项目地址 :[https://github.com/anjoy8/BlogArti](https://github.com/anjoy8/BlogArti) 这只是 .netCore 后端部分,前端部分请看我的另三个Vue工程项目         |个人博客Vue版本|tBug项目Nuxt版本|VueAdmin管理后台(更新中)| |-|-|-| |[https://github.com/anjoy8/Blog.Vue](https://github.com/anjoy8/Blog.Vue)|[https://github.com/anjoy8/Nuxt.tBug](https://github.com/anjoy8/Nuxt.tBug)|[https://github.com/anjoy8/Blog.Admin](https://github.com/anjoy8/Blog.Admin)| |[http://123.206.33.109:8077](http://123.206.33.109:8077)|[http://123.206.33.109:7090](http://123.206.33.109:7090)|[http://123.206.33.109:2364](http://123.206.33.109:2364)|   ### 初始项目 #### 不要再使用 .sql 文件了,不更新了,用下边动图的方法,直接 seed data. 数据查看:[Blog.Core.Data.json](https://github.com/anjoy8/Blog.Data.Share/tree/master/Blog.Core.Data.json) 文章讲解:[支持多种数据库 & 快速数据库生成](https://www.cnblogs.com/laozhang-is-phi/p/10718755.html)   ![操作流程](https://github.com/anjoy8/Blog.Core/blob/master/Blog.Core/wwwroot/operateFlow.gif)   ## Nuget Packages | Package | NuGet Stable | Downloads | | ------- | -------- | ------- | | [Blog.Core.Webapi.Template](https://www.nuget.org/packages/Blog.Core.Webapi.Template/) | [![Blog.Core.Webapi.Template](https://img.shields.io/nuget/v/Blog.Core.Webapi.Template.svg)](https://www.nuget.org/packages/Blog.Core.Webapi.Template/) | [![Blog.Core.Webapi.Template](https://img.shields.io/nuget/dt/Blog.Core.Webapi.Template.svg)](https://www.nuget.org/packages/Blog.Core.Webapi.Template/) | 关于如何使用,点击这里:https://www.cnblogs.com/laozhang-is-phi/p/10205495.html     ## 其他后端框架 目前一共开源四个框架项目,感兴趣的可以看看 |单层项目|简单仓储框架|仓储+服务+接口|DDD框架| |-|-|-|-| |CURD+Seed|CURD+Seed+DI|CURD+Seed+DI+AOP等|DDD+EFCore+DI+EventBus等| |[NetCore-Sugar-Demo](https://github.com/anjoy8/NetCore-Sugar-Demo)|[Blog.SplRepository.Demo](https://github.com/anjoy8/Blog.SplRepository.Demo)|[Blog.Core](https://github.com/anjoy8/Blog.Core)|[ChristDDD](https://github.com/anjoy8/ChristDDD)| | -|[Blog-EFCore-Sqlite](https://github.com/anjoy8/Blog-EFCore-Sqlite)|- | -|     ## 给个星星! ⭐️ 如果你喜欢这个项目或者它帮助你, 请给 Star~(辛苦星咯) ********************************************************* ## Tips: ``` 1【重要】、Blog.Core.FrameWork 项目是用T4模板生成文件的简单实现。如果有错误,可以联系我, QQ群:867095512 如果你不想处理这个错误,你可以先把项目卸载,不影响整体运行。 2【重要】、项目中,有三个AOP的操作类,分别是Redis缓存切面,memory缓存切面、Log日志切面 你可以在自定义开关,对其进行是否启用,在 appsettings.json 中的: "RedisCaching": { "Enabled": false, "ConnectionString": "127.0.0.1:6319" }, "MemoryCachingAOP": { "Enabled": true }, "LogoAOP": { "Enabled": false }, 3【重要】、如何你使用Redis,需要安装Redis服务端,安装和使用说明地址: https://www.cnblogs.com/laozhang-is-phi/p/9554210.html#autoid-3-4-0 端口是 6319 ,注意! 4【重要+】、系统新增自动化生成数据库,和生成种子数据的功能, 在Blog.Core层中的 appsettings.json 中开启 SeedDBEnabled:true 即可。 具体文章请看:《[支持多种数据库 & 快速数据库生成](https://www.cnblogs.com/laozhang-is-phi/p/10718755.html)》。 5、如果你不想用CodeFirst 和种子数据,可以用数据库表结构Sql文件在数据库里执行, 在Blog.Core 项目下的 wwwroot 文件夹中Blog.Core.Table.sql(表结构)、Blog.Core.Table&Data.sql(结构和数据)。 或者来群里,群文件的是最新的。 6、如果想单独查看关于【JWT授权】的相关内容,可以访问 https://github.com/anjoy8/BlogArti/tree/master/Blog.Core_JWT, 我单拎出来的一个demo。 7、项目后期发布的时候可以有两个办法,一种是dotnet的kestrel部署,另一种是 IIS 发布部署,但是在发布的时候, 因为解耦了,所以会导致无法把 service.dll & repository.dll 拷贝到生成目录下,大家可以采用: Blog.Core -> 属性 -> Build Events -> Post-build event command ->>>> Copy "$(ProjectDir)bin\Debug\netcoreapp2.2\" "$(SolutionDir)Blog.Core\bin\Debug\" ``` ********************************************************* ### 修改数据库连接字符串 注意:修改完数据库连接字符串以后,一定要F6重新编译项目或者重启项目。 1、在Blog.Core层 appsettings.json 中,配置自己的字符串 ``` "SqlServer": { "SqlServerConnection": "Server=.;Database=WMBlogDB;User ID=sa;Password=123;", "ProviderName": "System.Data.SqlClient" }, ``` 2、文章中有三个地方用到了数据库连接字符串 ``` A、系统中使用 Blog.Core.Repository -> BaseDBConfig.cs B、Seed数据库 Blog.Core.Model -> MyContext.cs C、T4 模板 Blog.Core.FrameWork -> DbHelper.ttinclude 其实针对AB两个情况,只需要配置 appsettings.json 即可 ``` 3、如果想使用T4模板,在Blog.Core.FrameWork层的DbHelper.ttinclude 中,配置自己的字符串 ``` public static readonly string ConnectionString = File.Exists(@"D:\my-file\dbCountPsw2.txt") ? File.ReadAllText(@"D:\my-file\dbCountPsw2.txt").Trim(): "server=.;uid=sa;pwd=sa;database=BlogDB"; ``` ***************************************************** ### 三大平台同步直播 简 书:https://www.jianshu.com/notebooks/28621653 博客园:https://www.cnblogs.com/laozhang-is-phi/ CSDN:https://blog.csdn.net/baidu_35726140 码云:https://gitee.com/laozhangIsPhi/Blog.Core ``` ```

.NetCore与Vue 框架学习目录如下

************************************************************** 系统环境 windows 10、SQL server 2012、Visual Studio 2017、Windows Server 2008 R2 后端技术: * .Net Core 2.0 API(因为想单纯搭建前后端分离,因此就选用的API,如果想了解.Net Core MVC,也可以交流) * Swagger 前后端文档说明,基于RESTful风格编写接口 * Repository + Service 仓储模式编程 * Async和Await 异步编程 * Cors 简单的跨域解决方案 * AOP基于切面编程技术 * Autofac 轻量级IoC和DI依赖注入 * Vue 本地代理跨域方案,Nginx跨域代理 * JWT权限验证 数据库技术 * SqlSugar 轻量级ORM框架,CodeFirst * T4 模板生成 * AutoMapper 自动对象映射 分布式缓存技术 * Redis 轻量级分布式缓存 前端技术 * Vue 2.0 框架全家桶 Vue2 + VueRouter2 + Webpack + Axios + vue-cli + vuex * ElementUI 基于Vue 2.0的组件库 * Nuxt.js服务端渲染SSR