Made single From<T>(...) method. Not preety but more practical

This commit is contained in:
2024-05-24 09:34:29 +02:00
parent 51dc61ab39
commit 561d790ccc
2 changed files with 1433 additions and 1468 deletions

View File

@@ -2000,47 +2000,29 @@ namespace DynamORM
return new DynamicSelectQueryBuilder(this).From(fn); return new DynamicSelectQueryBuilder(this).From(fn);
} }
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <typeparam name="T">Type which can be represented in database.</typeparam>
/// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>()
{
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)));
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary> /// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <typeparam name="T">Type which can be represented in database.</typeparam> /// <typeparam name="T">Type which can be represented in database.</typeparam>
/// <param name="alias">Table alias.</param> /// <param name="alias">Table alias.</param>
/// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>(string alias)
{
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias));
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <typeparam name="T">Type which can be represented in database.</typeparam>
/// <param name="noLock">use no lock.</param> /// <param name="noLock">use no lock.</param>
/// <returns>This instance to permit chaining.</returns> /// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>(bool noLock) public virtual IDynamicSelectQueryBuilder From<T>(string alias = null, bool noLock = false)
{ {
// TODO: Make it more readable and maitainable
if (noLock) if (noLock)
{
if (string.IsNullOrEmpty(alias))
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).NoLock()); return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).NoLock());
else else
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)));
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <typeparam name="T">Type which can be represented in database.</typeparam>
/// <param name="alias">Table alias.</param>
/// <param name="noLock">use no lock.</param>
/// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>(string alias, bool noLock)
{
if (noLock)
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias).NoLock()); return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias).NoLock());
}
else
{
if (string.IsNullOrEmpty(alias))
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)));
else else
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias)); return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias));
} }
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary> /// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <param name="t">Type which can be represented in database.</param> /// <param name="t">Type which can be represented in database.</param>
@@ -15108,3 +15090,4 @@ namespace DynamORM
} }
} }
} }

View File

@@ -448,47 +448,29 @@ namespace DynamORM
return new DynamicSelectQueryBuilder(this).From(fn); return new DynamicSelectQueryBuilder(this).From(fn);
} }
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <typeparam name="T">Type which can be represented in database.</typeparam>
/// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>()
{
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)));
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary> /// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <typeparam name="T">Type which can be represented in database.</typeparam> /// <typeparam name="T">Type which can be represented in database.</typeparam>
/// <param name="alias">Table alias.</param> /// <param name="alias">Table alias.</param>
/// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>(string alias)
{
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias));
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <typeparam name="T">Type which can be represented in database.</typeparam>
/// <param name="noLock">use no lock.</param> /// <param name="noLock">use no lock.</param>
/// <returns>This instance to permit chaining.</returns> /// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>(bool noLock) public virtual IDynamicSelectQueryBuilder From<T>(string alias = null, bool noLock = false)
{ {
// TODO: Make it more readable and maitainable
if (noLock) if (noLock)
{
if (string.IsNullOrEmpty(alias))
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).NoLock()); return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).NoLock());
else else
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)));
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <typeparam name="T">Type which can be represented in database.</typeparam>
/// <param name="alias">Table alias.</param>
/// <param name="noLock">use no lock.</param>
/// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>(string alias, bool noLock)
{
if (noLock)
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias).NoLock()); return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias).NoLock());
}
else
{
if (string.IsNullOrEmpty(alias))
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)));
else else
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias)); return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias));
} }
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary> /// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <param name="t">Type which can be represented in database.</param> /// <param name="t">Type which can be represented in database.</param>