Remove redundant typed fluent wrapper methods
This commit is contained in:
@@ -7386,30 +7386,6 @@ namespace DynamORM
|
||||
/// <summary>Marker extensions for typed fluent builder expressions.</summary>
|
||||
public static class TypedFluentExtensions
|
||||
{
|
||||
/// <summary>Typed select helper that avoids overload resolution with dynamic methods.</summary>
|
||||
public static IDynamicTypedSelectQueryBuilder<TModel> SelectTyped<TModel, TResult>(
|
||||
this IDynamicTypedSelectQueryBuilder<TModel> builder,
|
||||
System.Linq.Expressions.Expression<System.Func<TModel, TResult>> selector,
|
||||
params System.Linq.Expressions.Expression<System.Func<TModel, TResult>>[] selectors)
|
||||
{
|
||||
return builder.Select(selector, selectors);
|
||||
}
|
||||
/// <summary>Typed group by helper that avoids overload resolution with dynamic methods.</summary>
|
||||
public static IDynamicTypedSelectQueryBuilder<TModel> GroupByTyped<TModel, TResult>(
|
||||
this IDynamicTypedSelectQueryBuilder<TModel> builder,
|
||||
System.Linq.Expressions.Expression<System.Func<TModel, TResult>> selector,
|
||||
params System.Linq.Expressions.Expression<System.Func<TModel, TResult>>[] selectors)
|
||||
{
|
||||
return builder.GroupBy(selector, selectors);
|
||||
}
|
||||
/// <summary>Typed order by helper that avoids overload resolution with dynamic methods.</summary>
|
||||
public static IDynamicTypedSelectQueryBuilder<TModel> OrderByTyped<TModel, TResult>(
|
||||
this IDynamicTypedSelectQueryBuilder<TModel> builder,
|
||||
System.Linq.Expressions.Expression<System.Func<TModel, TResult>> selector,
|
||||
params System.Linq.Expressions.Expression<System.Func<TModel, TResult>>[] selectors)
|
||||
{
|
||||
return builder.OrderBy(selector, selectors);
|
||||
}
|
||||
/// <summary>Marks select projection alias in typed expressions.</summary>
|
||||
public static T As<T>(this T source, string alias)
|
||||
{
|
||||
|
||||
@@ -58,8 +58,8 @@ namespace DynamORM.Tests.Select
|
||||
{
|
||||
var cmd = Database.From<TypedFluentUser>("u")
|
||||
.Where(u => u.Id == 1)
|
||||
.SelectTyped(u => u.Code.As("CodeAlias"))
|
||||
.OrderByTyped(u => u.Code.Desc());
|
||||
.Select(u => u.Code.As("CodeAlias"))
|
||||
.OrderBy(u => u.Code.Desc());
|
||||
|
||||
Assert.AreEqual(
|
||||
string.Format("SELECT u.\"user_code\" AS \"CodeAlias\" FROM \"sample_users\" AS u WHERE (u.\"id_user\" = [${0}]) ORDER BY u.\"user_code\" DESC", cmd.Parameters.Keys.First()),
|
||||
@@ -73,7 +73,7 @@ namespace DynamORM.Tests.Select
|
||||
|
||||
var cmd = Database.From<TypedFluentUser>("u")
|
||||
.Where(u => ids.Contains(u.Id))
|
||||
.SelectTyped(u => u.Id);
|
||||
.Select(u => u.Id);
|
||||
|
||||
Assert.AreEqual(
|
||||
string.Format("SELECT u.\"id_user\" FROM \"sample_users\" AS u WHERE (u.\"id_user\" IN([${0}], [${1}], [${2}]))",
|
||||
@@ -87,10 +87,10 @@ namespace DynamORM.Tests.Select
|
||||
public void TestTypedGroupByHavingOrderBy()
|
||||
{
|
||||
var cmd = Database.From<TypedFluentUser>("u")
|
||||
.SelectTyped(u => u.Code)
|
||||
.GroupByTyped(u => u.Code)
|
||||
.Select(u => u.Code)
|
||||
.GroupBy(u => u.Code)
|
||||
.Having(u => u.Code != null)
|
||||
.OrderByTyped(u => u.Code.Asc());
|
||||
.OrderBy(u => u.Code.Asc());
|
||||
|
||||
Assert.AreEqual("SELECT u.\"user_code\" FROM \"sample_users\" AS u GROUP BY u.\"user_code\" HAVING (u.\"user_code\" IS NOT NULL) ORDER BY u.\"user_code\" ASC",
|
||||
cmd.CommandText());
|
||||
@@ -101,7 +101,7 @@ namespace DynamORM.Tests.Select
|
||||
{
|
||||
var cmd = Database.From<TypedFluentUser>("u")
|
||||
.Join<TypedFluentUser>((l, r) => l.Id == r.Id, "x")
|
||||
.SelectTyped(u => u.Id);
|
||||
.Select(u => u.Id);
|
||||
|
||||
Assert.AreEqual("SELECT u.\"id_user\" FROM \"sample_users\" AS u INNER JOIN \"sample_users\" AS x ON (u.\"id_user\" = x.\"id_user\")",
|
||||
cmd.CommandText());
|
||||
@@ -112,7 +112,7 @@ namespace DynamORM.Tests.Select
|
||||
{
|
||||
var cmd = Database.From<TypedFluentUser>("u")
|
||||
.LeftJoin<TypedFluentUser>((l, r) => l.Id == r.Id, "x")
|
||||
.SelectTyped(u => u.Id);
|
||||
.Select(u => u.Id);
|
||||
|
||||
Assert.AreEqual("SELECT u.\"id_user\" FROM \"sample_users\" AS u LEFT JOIN \"sample_users\" AS x ON (u.\"id_user\" = x.\"id_user\")",
|
||||
cmd.CommandText());
|
||||
@@ -123,7 +123,7 @@ namespace DynamORM.Tests.Select
|
||||
{
|
||||
var cmd = Database.From<TypedFluentUser>("u")
|
||||
.RightJoin<TypedFluentUser>((l, r) => l.Id == r.Id, "x")
|
||||
.SelectTyped(u => u.Id);
|
||||
.Select(u => u.Id);
|
||||
|
||||
Assert.AreEqual("SELECT u.\"id_user\" FROM \"sample_users\" AS u RIGHT JOIN \"sample_users\" AS x ON (u.\"id_user\" = x.\"id_user\")",
|
||||
cmd.CommandText());
|
||||
@@ -134,7 +134,7 @@ namespace DynamORM.Tests.Select
|
||||
{
|
||||
var cmd = Database.From<TypedFluentUser>("u")
|
||||
.FullJoin<TypedFluentUser>((l, r) => l.Id == r.Id, "x")
|
||||
.SelectTyped(u => u.Id);
|
||||
.Select(u => u.Id);
|
||||
|
||||
Assert.AreEqual("SELECT u.\"id_user\" FROM \"sample_users\" AS u FULL JOIN \"sample_users\" AS x ON (u.\"id_user\" = x.\"id_user\")",
|
||||
cmd.CommandText());
|
||||
|
||||
@@ -31,33 +31,6 @@ namespace DynamORM.Builders
|
||||
/// <summary>Marker extensions for typed fluent builder expressions.</summary>
|
||||
public static class TypedFluentExtensions
|
||||
{
|
||||
/// <summary>Typed select helper that avoids overload resolution with dynamic methods.</summary>
|
||||
public static IDynamicTypedSelectQueryBuilder<TModel> SelectTyped<TModel, TResult>(
|
||||
this IDynamicTypedSelectQueryBuilder<TModel> builder,
|
||||
System.Linq.Expressions.Expression<System.Func<TModel, TResult>> selector,
|
||||
params System.Linq.Expressions.Expression<System.Func<TModel, TResult>>[] selectors)
|
||||
{
|
||||
return builder.Select(selector, selectors);
|
||||
}
|
||||
|
||||
/// <summary>Typed group by helper that avoids overload resolution with dynamic methods.</summary>
|
||||
public static IDynamicTypedSelectQueryBuilder<TModel> GroupByTyped<TModel, TResult>(
|
||||
this IDynamicTypedSelectQueryBuilder<TModel> builder,
|
||||
System.Linq.Expressions.Expression<System.Func<TModel, TResult>> selector,
|
||||
params System.Linq.Expressions.Expression<System.Func<TModel, TResult>>[] selectors)
|
||||
{
|
||||
return builder.GroupBy(selector, selectors);
|
||||
}
|
||||
|
||||
/// <summary>Typed order by helper that avoids overload resolution with dynamic methods.</summary>
|
||||
public static IDynamicTypedSelectQueryBuilder<TModel> OrderByTyped<TModel, TResult>(
|
||||
this IDynamicTypedSelectQueryBuilder<TModel> builder,
|
||||
System.Linq.Expressions.Expression<System.Func<TModel, TResult>> selector,
|
||||
params System.Linq.Expressions.Expression<System.Func<TModel, TResult>>[] selectors)
|
||||
{
|
||||
return builder.OrderBy(selector, selectors);
|
||||
}
|
||||
|
||||
/// <summary>Marks select projection alias in typed expressions.</summary>
|
||||
public static T As<T>(this T source, string alias)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user