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>
|
/// <summary>Marker extensions for typed fluent builder expressions.</summary>
|
||||||
public static class TypedFluentExtensions
|
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>
|
/// <summary>Marks select projection alias in typed expressions.</summary>
|
||||||
public static T As<T>(this T source, string alias)
|
public static T As<T>(this T source, string alias)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -58,8 +58,8 @@ namespace DynamORM.Tests.Select
|
|||||||
{
|
{
|
||||||
var cmd = Database.From<TypedFluentUser>("u")
|
var cmd = Database.From<TypedFluentUser>("u")
|
||||||
.Where(u => u.Id == 1)
|
.Where(u => u.Id == 1)
|
||||||
.SelectTyped(u => u.Code.As("CodeAlias"))
|
.Select(u => u.Code.As("CodeAlias"))
|
||||||
.OrderByTyped(u => u.Code.Desc());
|
.OrderBy(u => u.Code.Desc());
|
||||||
|
|
||||||
Assert.AreEqual(
|
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()),
|
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")
|
var cmd = Database.From<TypedFluentUser>("u")
|
||||||
.Where(u => ids.Contains(u.Id))
|
.Where(u => ids.Contains(u.Id))
|
||||||
.SelectTyped(u => u.Id);
|
.Select(u => u.Id);
|
||||||
|
|
||||||
Assert.AreEqual(
|
Assert.AreEqual(
|
||||||
string.Format("SELECT u.\"id_user\" FROM \"sample_users\" AS u WHERE (u.\"id_user\" IN([${0}], [${1}], [${2}]))",
|
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()
|
public void TestTypedGroupByHavingOrderBy()
|
||||||
{
|
{
|
||||||
var cmd = Database.From<TypedFluentUser>("u")
|
var cmd = Database.From<TypedFluentUser>("u")
|
||||||
.SelectTyped(u => u.Code)
|
.Select(u => u.Code)
|
||||||
.GroupByTyped(u => u.Code)
|
.GroupBy(u => u.Code)
|
||||||
.Having(u => u.Code != null)
|
.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",
|
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());
|
cmd.CommandText());
|
||||||
@@ -101,7 +101,7 @@ namespace DynamORM.Tests.Select
|
|||||||
{
|
{
|
||||||
var cmd = Database.From<TypedFluentUser>("u")
|
var cmd = Database.From<TypedFluentUser>("u")
|
||||||
.Join<TypedFluentUser>((l, r) => l.Id == r.Id, "x")
|
.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\")",
|
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());
|
cmd.CommandText());
|
||||||
@@ -112,7 +112,7 @@ namespace DynamORM.Tests.Select
|
|||||||
{
|
{
|
||||||
var cmd = Database.From<TypedFluentUser>("u")
|
var cmd = Database.From<TypedFluentUser>("u")
|
||||||
.LeftJoin<TypedFluentUser>((l, r) => l.Id == r.Id, "x")
|
.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\")",
|
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());
|
cmd.CommandText());
|
||||||
@@ -123,7 +123,7 @@ namespace DynamORM.Tests.Select
|
|||||||
{
|
{
|
||||||
var cmd = Database.From<TypedFluentUser>("u")
|
var cmd = Database.From<TypedFluentUser>("u")
|
||||||
.RightJoin<TypedFluentUser>((l, r) => l.Id == r.Id, "x")
|
.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\")",
|
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());
|
cmd.CommandText());
|
||||||
@@ -134,7 +134,7 @@ namespace DynamORM.Tests.Select
|
|||||||
{
|
{
|
||||||
var cmd = Database.From<TypedFluentUser>("u")
|
var cmd = Database.From<TypedFluentUser>("u")
|
||||||
.FullJoin<TypedFluentUser>((l, r) => l.Id == r.Id, "x")
|
.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\")",
|
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());
|
cmd.CommandText());
|
||||||
|
|||||||
@@ -31,33 +31,6 @@ namespace DynamORM.Builders
|
|||||||
/// <summary>Marker extensions for typed fluent builder expressions.</summary>
|
/// <summary>Marker extensions for typed fluent builder expressions.</summary>
|
||||||
public static class TypedFluentExtensions
|
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>
|
/// <summary>Marks select projection alias in typed expressions.</summary>
|
||||||
public static T As<T>(this T source, string alias)
|
public static T As<T>(this T source, string alias)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user