automapper

BeetlSQL 3 功能预览

一曲冷凌霜 提交于 2020-08-17 19:20:20
BeetlSQL 3 目前正在研发过程,预计9月能发版。相比于BeetlSQL2,有非常多的改进,本博客会用一部分介绍BeetlSQL3的功能,另外一部分介绍如何定制Beetl3。 BeetSql是一个全功能DAO工具, 同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用 文档较长,可以点击右侧的目录导航到你想关注的内容 目前BeetlSQL3 还有大量工作需要完善,欢迎留言给我,可以加入开发或者测试 BeetlSQL3 特点 派别:SQL为中心 内置常见增删改查功能,节省项目50%工作量 强化SQL管理,通过md文件管理sql,使用Beetl模板编写复杂sql 简单SQL可以通过Query类链式API完成 全面支持跨数据库平台 支持NOSQL,如ClickhHouse,Elastic,Hive等 支持SQL查询引擎,如Apache Drill,Presto等 支持一对一,一对多等常见的映射。 可以使用约定习俗映射,复杂查询结果支持通过json配置映射到POJO 提供idea插件 其他 具备代码生成功能,提供代码生成框架 最大程度减少数据库重构对项目造成的影响 最大程度减少数据库切换对项目造成的影响 支持多数据源,数据源包含传统数据库,NOSQL,SQL查询引擎,且可以根据规则使用数据源

.Net Core 2.2升级3.1的避坑指南

筅森魡賤 提交于 2020-08-17 03:30:38
写在前面   微软在更新.Net Core版本的时候,动作往往很大,使得每次更新版本的时候都得小心翼翼,坑实在是太多。往往是悄咪咪的移除了某项功能或者组件,或者不在支持XX方法,这就很花时间去找回需要的东西了,下面是个人在迁移.Net Core WebApi项目过程中遇到的问题汇总: 开始迁移 1. 修改*.csproj项目文件 <TargetFramework>netcoreapp2. 2 </TargetFramework> 修改为 <TargetFramework>netcoreapp3.1</TargetFramework> 2 修改Program public static void Main( string [] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder( string [] args) => WebHost.CreateDefaultBuilder(args) .UseStartup <Startup>().ConfigureAppConfiguration((hostingContext, config) => { config.AddJsonFile($ " 你的json文件.json " ,

《ASP.ENT Core 与 RESTful API 开发实战》-- (第5章)-- 读书笔记(中)

折月煮酒 提交于 2020-08-14 13:29:19
第 5 章 使用 Entity Framework Core 5.3 重构仓储类 创建一个通用仓储接口 namespace Library.API.Services { public interface IRepositoryBase<T> { Task<IEnumerable<T>> GetAllAsync(); Task<IEnumerable<T>> GetByConditionAsync(Expression<Func<T, bool>> expression); void Create(T entity); void Update(T entity); void Delete(T entity); Task<bool> SaveAsync(); } } 继续创建一个接口 namespace Library.API.Services { public interface IRepositoryBase2<T,TId> { Task<T> GetByIdAsync(TId id); Task<bool> IsExistAsync(TId id); } } 添加 RepositoryBase 类并实现上面两个接口 namespace Library.API.Services { public class RepositoryBase<T, TId> :

基于 abp vNext 和 .NET Core 开发博客项目

别说谁变了你拦得住时间么 提交于 2020-08-13 08:32:43
上一篇文章( https://www.cnblogs.com/meowv/p/12896177.html )已经成功创建了博客项目,但是abp默认给我们引用了许多项目中用不到的组件。 本篇文章将给项目进行瘦身,删掉对我们来说暂时用不到的组件。讲解各个模块之间的关系,写一个Hello World,让其成功运行起来。 给项目瘦身 Meowv.Blog.HttpApi.Hosting Meowv.Blog.HttpApi.Hosting 相当于一个web项目,但这里主要依赖于 Meowv.Blog.HttpApi 模块,用来暴露我们的API的。 删掉 Meowv.Blog.HttpApi.Hosting 项目中abp自己生成的文件和文件夹,只留下 Program.cs 和 Startup.cs 两个类。 在abp中,每个模块都应该定义一个模块类,派生自 AbpModule ,那么就添加一个模块类 MeowvBlogHttpApiHostingModule.cs AbpModule 类中可以做 配置服务前和后的操作,应用程序初始化,应用程序初始化前和后,应用程序关闭和模块依赖等一系列操作,详看, https://docs.abp.io/en/abp/latest/Module-Development-Basics 为了方便,在这里直接集成Autofac,来替换官方依赖注入,详看,

.NET Core Dto映射(AutoMapper)

陌路散爱 提交于 2020-08-11 19:29:40
我们假设一个场景, 采用EF Core+Web Api, 这时候可能会出现EF Core中的Entity Model和在项目中使用的Model之间对应关系出现偏差, 如果使用属性意一一对应, 不免会有大量的工作量 好了,接下来直接上代码来说明。 EntityModels.Employee.cs public class Employee { public Guid Id { get; set; } public Guid CompanyId { get; set; } public string EmployeeNo { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public Gender Gender { get; set; } public DateTime DateOfBirth { get; set; } public Company Company { get; set; } } Models.EmployeeDto.cs public class EmployeeDto { public Guid Id { get; set; } public Guid CompanyId { get; set; } public string

基于 abp vNext 和 .NET Core 开发博客项目

 ̄綄美尐妖づ 提交于 2020-08-11 12:36:49
上一篇文章( https://www.cnblogs.com/meowv/p/12896177.html )已经成功创建了博客项目,但是abp默认给我们引用了许多项目中用不到的组件。 本篇文章将给项目进行瘦身,删掉对我们来说暂时用不到的组件。讲解各个模块之间的关系,写一个Hello World,让其成功运行起来。 给项目瘦身 Meowv.Blog.HttpApi.Hosting Meowv.Blog.HttpApi.Hosting 相当于一个web项目,但这里主要依赖于 Meowv.Blog.HttpApi 模块,用来暴露我们的API的。 删掉 Meowv.Blog.HttpApi.Hosting 项目中abp自己生成的文件和文件夹,只留下 Program.cs 和 Startup.cs 两个类。 在abp中,每个模块都应该定义一个模块类,派生自 AbpModule ,那么就添加一个模块类 MeowvBlogHttpApiHostingModule.cs AbpModule 类中可以做 配置服务前和后的操作,应用程序初始化,应用程序初始化前和后,应用程序关闭和模块依赖等一系列操作,详看, https://docs.abp.io/en/abp/latest/Module-Development-Basics 为了方便,在这里直接集成Autofac,来替换官方依赖注入,详看,

基于 abp vNext 和 .NET Core 开发博客项目

ぃ、小莉子 提交于 2020-08-10 22:28:48
上一篇文章( https://www.cnblogs.com/meowv/p/12896177.html )已经成功创建了博客项目,但是abp默认给我们引用了许多项目中用不到的组件。 本篇文章将给项目进行瘦身,删掉对我们来说暂时用不到的组件。讲解各个模块之间的关系,写一个Hello World,让其成功运行起来。 给项目瘦身 Meowv.Blog.HttpApi.Hosting Meowv.Blog.HttpApi.Hosting 相当于一个web项目,但这里主要依赖于 Meowv.Blog.HttpApi 模块,用来暴露我们的API的。 删掉 Meowv.Blog.HttpApi.Hosting 项目中abp自己生成的文件和文件夹,只留下 Program.cs 和 Startup.cs 两个类。 在abp中,每个模块都应该定义一个模块类,派生自 AbpModule ,那么就添加一个模块类 MeowvBlogHttpApiHostingModule.cs AbpModule 类中可以做 配置服务前和后的操作,应用程序初始化,应用程序初始化前和后,应用程序关闭和模块依赖等一系列操作,详看, https://docs.abp.io/en/abp/latest/Module-Development-Basics 为了方便,在这里直接集成Autofac,来替换官方依赖注入,详看,

基于 abp vNext 和 .NET Core 开发博客项目

僤鯓⒐⒋嵵緔 提交于 2020-08-10 05:29:48
上一篇文章( https://www.cnblogs.com/meowv/p/12961014.html )集成了定时任务处理框架Hangfire,完成了一个简单的定时任务处理解决方案。 本篇紧接着来玩一下AutoMapper,AutoMapper可以很方便的搞定我们对象到对象之间的映射关系处理,同时abp也帮我们是现实了 IObjectMapper 接口,先根据官方文档: https://docs.abp.io/zh-Hans/abp/latest/Object-To-Object-Mapping ,将AutoMapper添加依赖到项目中。 在 .Application 层模块类中添加 AbpAutoMapperModule 模块依赖。 //MeowvBlogApplicationModule.cs using Meowv.Blog.Application.Caching; using Volo.Abp.AutoMapper; using Volo.Abp.Identity; using Volo.Abp.Modularity; namespace Meowv.Blog.Application { [DependsOn( typeof(AbpIdentityApplicationModule), typeof(AbpAutoMapperModule), typeof

.Net Core 2.2升级3.1的避坑指南

萝らか妹 提交于 2020-08-10 04:19:52
写在前面   微软在更新.Net Core版本的时候,动作往往很大,使得每次更新版本的时候都得小心翼翼,坑实在是太多。往往是悄咪咪的移除了某项功能或者组件,或者不在支持XX方法,这就很花时间去找回需要的东西了,下面是个人在迁移.Net Core WebApi项目过程中遇到的问题汇总: 开始迁移 1. 修改*.csproj项目文件 <TargetFramework>netcoreapp2. 2 </TargetFramework> 修改为 <TargetFramework>netcoreapp3.1</TargetFramework> 2 修改Program public static void Main( string [] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder( string [] args) => WebHost.CreateDefaultBuilder(args) .UseStartup <Startup>().ConfigureAppConfiguration((hostingContext, config) => { config.AddJsonFile($ " 你的json文件.json " ,

Why is Automapper.ProjectTo() throwing a null reference exception?

流过昼夜 提交于 2020-08-10 04:02:21
问题 I have a mapping: var config = new MapperConfiguration(cfg => { cfg.CreateMap<Foo, FooDto>() .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id)) .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name)) .ForMember(dest => dest.PhoneNumber, opt => opt.MapFrom(src => src.PhoneNumbers.Number)) //etc. }); and I'm trying to use it in a unit test calling into some mocked up EF objects: var ids = new List<string>() { "123"; "456"; "789"; }; var data = new List<Foo>(); foreach(var