using AutoMapper.EquivalencyExpression; using IRaCIS.Core.Application.Service; using Microsoft.Extensions.DependencyInjection; namespace IRaCIS.Core.API { public static class AutoMapperSetup { public static void AddAutoMapperSetup(this IServiceCollection services) { services.AddAutoMapper(automapper => { //AutoMapper.Collection.EntityFrameworkCore automapper.AddCollectionMappers(); #region 会使 IncludeMembers 失效 不能全局使用 //mapping an EntityFramework Core DbContext-object. //automapper.UseEntityFrameworkCoreModel(services); //automapper.ForAllMaps((a, b) => b.ForAllMembers(opt => opt.Condition((src, dest, srcMember, desMenber) => //{ // //// Can test When Guid? -> Guid if source is null will change to Guid.Empty // //Console.WriteLine("srcMember:" + srcMember + "desMenber:" + desMenber); // return srcMember != null && srcMember.ToString() != Guid.Empty.ToString(); // // not want to map a null Guid? value to db Guid value //}))); #endregion }, typeof(QCConfig).Assembly); } } }