欧美网站建设风格特点,wordpress打开5秒,兰州工业发展建设有限公司网站,苏州seo优化排名推广前沿园子里已有挺多博文介绍了EFCoreMysql/MSSql如何进行使用#xff0c;但实际开发不会把EF层放在Web层混合起来#xff0c;需要多个项目配合结构清晰的进行分层工作#xff0c;本文根据个人实践经验总结将各个项目进行分层#xff0c;仅供想自己搭建,包含数据仓储以及分页… 前沿 园子里已有挺多博文介绍了EFCoreMysql/MSSql如何进行使用但实际开发不会把EF层放在Web层混合起来需要多个项目配合结构清晰的进行分层工作本文根据个人实践经验总结将各个项目进行分层仅供想自己搭建,包含数据仓储以及分页多字段排序。目录结构1.实体层EF搭建1.1添加Nuget包1.2添加实体1.3构造DbContext1.4数据迁移生成数据库2.仓储层搭建 2.1添加Nuget包 2.2添加必要的支持IEnumerableT和IQueryableT 的OrderBy字符串支持类LinqExtensions 2.3构造RepositoryBaseT 2.4添加Table文件夹添加SysUserRepository 2.5添加工作单元UnitOfWork3.WebApi项目测试 3.1注入EF 3.2测试4.Github项目地址 正文1.实体层EF搭建新建.NetCore类库项目Entity,本人使用的是2.0的SDK1.1添加Nuget包PM Install-Package Microsoft.AspNetCore.All -version 2.0.9PM Install-Package Pomelo.EntityFrameworkCore.MySql -version 2.0.11.2添加实体父类EntityBase实体类SysUser1.3构造DbContext在这有重写OnConfiguring方法如果没有构造数据库链接字符串的话则到appsettings.json中去取,注意将appsettings.json文件始终复制 appsettings.json{ ConnectionStrings: { SQLConnection: server127.0.0.1;databaseeftest;useridroot;pwd123456;port3306;sslmodenone; }, server.urls: http://localhost:5001 //监听端口配置可多个}1.4数据迁移生成数据库打开PM选择默认项目Entity输入PM Add-Migration init若提示The configuration file appsettings.json was not found and is not optional. The physical path is E:\VS项目\EFTest\Entity\bin\Debug\netcoreapp2.0\appsettings.json.则为没检测到appsettings.json需要文件更改属性为复制提示后进行更新数据库如下为更新成功。PM update-database 最后Entity项目内容如下 2.仓储层搭建新建.NetCore类库项目Repository并引用项目Entity2.1添加Nuget包PM Install-Package Microsoft.EntityFrameworkCore -version 2.0.3PM Install-Package LinqKit.Microsoft.EntityFrameworkCore -version 1.1.15 2.2添加必要的支持IEnumerableT和IQueryableT 的OrderBy字符串支持类LinqExtensions以及分页支持类PageDataT2.3构造RepositoryBaseT2.4添加Table文件夹添加SysUserRepository2.5添加工作单元UnitOfWork这样仓储层就构造完成了篇幅已经很长了Service层就先不介绍了。3.WebApi项目测试新建.NetCore的项目的Web应用程序ApiTest,选择webapi方式并引用Entity和Repository项目3.1注入EF3.2测试测试结果 仓储分页查询 测试原文地址:https://www.cnblogs.com/jomzhang/p/10245077.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com