Кстати, этот код зависит от ответа на ваш предыдущий вопрос.С помощью этого метода вы можете вывести только обязательные поля. Как модель
Зависит от метода расширения ParseTo
https://stackoverflow.com/a/58039799/3263653
public static partial class GenericExtensions
{
#region SelectAsSource
public static List<TSource> SelectAsSource<TSource, TResult>(this IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource, TResult>> selector)
{
return source
.Select(selector)
.ToList()//FetchData From Database
.Select(x => x.ParseTo<TResult, TSource>())
.ToList();
}
public static List<TSource> SelectAsSource<TSource, TResult>(this IEnumerable<TSource> source, System.Linq.Expressions.Expression<Func<TSource, TResult>> selector)
{
return source.ToList().SelectAsSource(selector);
}
public static List<TSource> SelectAsSource<TSource, TResult>(this List<TSource> source, System.Linq.Expressions.Expression<Func<TSource, TResult>> selector)
{
return source
.AsQueryable()
.Select(selector)
.ToList()//FetchData From Database
.Select(x => x.ParseTo<TResult, TSource>())
.ToList();
}
#endregion
}
Использование =>
List<Person> lstResult = query
.SelectAsSource(x => new
{
x.Id,
x.LastName,
x.Mobile,
})
.ToList();