common builder interface makes sense probably for future.

This commit is contained in:
David Lebée 2018-03-14 19:36:26 -05:00
parent 9ab186b811
commit 7b93b03050
5 changed files with 18 additions and 4 deletions

View File

@ -6,7 +6,7 @@ using PoweredSoft.DynamicLinq.Helpers;
namespace PoweredSoft.DynamicLinq.Fluent namespace PoweredSoft.DynamicLinq.Fluent
{ {
public class GroupBuilder public class GroupBuilder : IQueryBuilder
{ {
public List<(string path, string propertyName)> Parts { get; set; } = new List<(string path, string propertyName)>(); public List<(string path, string propertyName)> Parts { get; set; } = new List<(string path, string propertyName)>();
public Type Type { get; set; } public Type Type { get; set; }

View File

@ -6,7 +6,7 @@ using System.Text;
namespace PoweredSoft.DynamicLinq.Fluent namespace PoweredSoft.DynamicLinq.Fluent
{ {
public class OrderByBuilder public class OrderByBuilder : IQueryBuilder
{ {
public IQueryable Query { get; } public IQueryable Query { get; }

View File

@ -13,7 +13,7 @@ namespace PoweredSoft.DynamicLinq.Fluent
public SelectTypes SelectType { get; set; } public SelectTypes SelectType { get; set; }
} }
public class SelectBuilder public class SelectBuilder : IQueryBuilder
{ {
public List<SelectPart> Parts = new List<SelectPart>(); public List<SelectPart> Parts = new List<SelectPart>();
public Type DestinationType { get; set; } public Type DestinationType { get; set; }

View File

@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace PoweredSoft.DynamicLinq.Fluent namespace PoweredSoft.DynamicLinq.Fluent
{ {
public partial class WhereBuilder public partial class WhereBuilder : IQueryBuilder
{ {
public IQueryable Query { get; set; } public IQueryable Query { get; set; }
public Type QueryableType { get; set; } public Type QueryableType { get; set; }

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PoweredSoft.DynamicLinq
{
public interface IQueryBuilder
{
IQueryable Query { get; }
IQueryable Build();
}
}