Mapster icon indicating copy to clipboard operation
Mapster copied to clipboard

Can add TypeAdapterBuilder<IQueryable>.ProjectToType to Mapster instead of Mapster.EFCore?

Open darkflame0 opened this issue 3 years ago • 0 comments

I use linq2db without entity tracking and I find out I can't call ProjectToType from IMapper. I have to add below code

    public static class TypeAdapterBuilderExtensions
    {
        public static IQueryable<TDestination> ProjectToType<TDestination>(this IAdapterBuilder<IQueryable> source)
        {
            return source.Source.ProjectToType<TDestination>(source.Config);
        }
    }

to my project

I think ProjectToType should not depend on EFCore.

maybe can modify

public static TypeAdapterBuilder<TSource> EntityFromContext<TSource>(this TypeAdapterBuilder<TSource> builder, DbContext context)
{
...
}
public static IQueryable<TDestination> ProjectToType<TDestination>(this IAdapterBuilder<IQueryable> source)
{
...
}

to

public static EntityFrameworkTypeAdapterBuilder<TSource> EntityFromContext<TSource>(this TypeAdapterBuilder<TSource> builder, DbContext context)
{
...
}
public static IQueryable<TDestination> ProjectToType<TDestination>(this EntityFrameworkTypeAdapterBuilder<IQueryable> source)
{
...
}

then add IAdapterBuilder<IQueryable>.ProjectToType to main project or Mapster.Queryable?

darkflame0 avatar May 24 '22 22:05 darkflame0