ABP实现EF执行SQL(增删改查)解决方案 前言 一般情况下,使用EF中的语法可以帮助我们完成绝大部分业务,但是也有特殊的情况需要直接执行的Sql语句。比如,我们的业务过于复杂繁琐,或是有些业务使用EF操作时比较复杂,但是使用的Sql时会很简单等,这时就有了以下需求了。 具体实现 1,首先我们需要定义一个接口类:ISqlExecut...
一开始我是拒绝在EF中使用SQL查询的,但是花了好长时间,实在是找不到可以替代以上sql的linq语句或者Lambda方法语法,有哪位能写出来的,欢迎挑战一下,但是写出来的很复杂的话,也没这个必要了。 下面说说具体的实现【首先要声明的是我使用的是ABP框架】。 1.在核心层(Core层)的IRepositories文件下创建一个接口IOpera...
一开始我是拒绝在EF中使用SQL查询的,但是花了好长时间,实在是找不到可以替代以上sql的linq语句或者Lambda方法语法,有哪位能写出来的,欢迎挑战一下,但是写出来的很复杂的话,也没这个必要了。 下面说说具体的实现【首先要声明的是我使用的是ABP框架】。 1.在核心层(Core层)的IRepositories文件下创建一个接口IOpera...
/// <returns>执行命令后由数据库返回的结果</returns> public async Task<int> Execute(string sql, params object[] parameters) { return await _dbContextProvider.GetDbContext().Database.ExecuteSqlCommandAsync(sql, parameters); } public async Task<DataTable> ExecuteDataTable(string sql, params object...
ABP默认的数据库是SQLServer,不过ABP框架底层是EF框架,因此也是很容易支持其他类型的数据库的,本篇随笔介绍在ABP框架使用Mysql数据库,以及基于SQLServer创建MySql数据库的架构和数据的处理。 如果需要其他方式数据库的支持,那么需要引入相应的支持程序集。Nuget中安装MySql相关包,Oracle公司提供的MySql 包试了很多次,都还是...
3.9、EF Core如何使用事务范围块操作 3.10、EF Core如何实现批量插入、更新、删除 3.11、 EF Core中执行原生SQL语句 3.12、 EF Core中动态查询在实际项目中的妙用 3.13、 EF Core中多对多关系Inner join内连接查询 EF Linq中的左连接Left Join查询 - 跟着阿笨一起玩.NET - 博客园 ...
ABP模板项目Entity Framework Core默认使用的是Sql Server,也很容易将数据库迁移到MySQL,步骤如下。 二、迁移MySQL步骤 1、 下载项目 请到http://aspnetboilerplate.com/Templates 下载一个新的项目,选择ASP.NET Core 2.x标签,Target Framework:选中.Net Core就可以了。
讲完EF Core中的DbContext在ABP中的创建过程,我们将视线转到Repositories(仓库)中过来,他是领域层和持久之间的桥梁,存储库用于从高层抽象数据访问。 在ABP 框架中领域和持久化层之间的媒介,使用一种类似集合的接口来访问实体,每个实体(或者聚合根)使用给一个分离的仓库 默认仓储 在ABP里,一个仓储类实现IRepository<...
可以看到,ABP 作为一个模块化的框架,对于每个类库的使用用途定义的非常清楚,但是,在实际的开发中,对于正式环境数据库的操作基本上都是交由 DBA 来执行的,EF Core 的 migration 更多的是在开发时进行使用。同时,如果真的这样划分的话,至少我遇到的绝大多数开发人员都是会叫的 ...
此命令默认使用带有 EF Core 的 SQL Server LocalDB 和 MVC/Razor 页面 UI 创建 Web 应用。如果我想指定选项,我可以重写相同的命令,如下所示: abp new ProductManagement -t app -u mvc -d ef -dbms SqlServer --mobile none 如果要指定数据库连接字符串,也可以传递--connection-string参数,如下例所示: ...