Compare commits

...

2 Commits

3 changed files with 73 additions and 0 deletions

View File

@@ -2017,6 +2017,31 @@ namespace DynamORM
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>
/// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>(bool noLock)
{
if (noLock)
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).NoLock());
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());
else
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias));
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <param name="t">Type which can be represented in database.</param>
/// <returns>This instance to permit chaining.</returns>

View File

@@ -29,6 +29,7 @@
using System.Linq;
using DynamORM.Builders;
using DynamORM.Builders.Implementation;
using DynamORM.Tests.Helpers;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace DynamORM.Tests.Select
@@ -75,6 +76,28 @@ namespace DynamORM.Tests.Select
Assert.AreEqual("SELECT * FROM \"dbo\".\"Users\"", cmd.CommandText());
}
/// <summary>
/// Tests from typed method.
/// </summary>
[TestMethod]
public void TestFromGetTyped()
{
IDynamicSelectQueryBuilder cmd = Database.From<Users>();
Assert.AreEqual("SELECT * FROM \"users\"", cmd.CommandText());
}
/// <summary>
/// Tests from typed method.
/// </summary>
[TestMethod]
public void TestFromGetTypedAs()
{
IDynamicSelectQueryBuilder cmd = Database.From<Users>("u");
Assert.AreEqual("SELECT * FROM \"users\" AS u", cmd.CommandText());
}
/// <summary>
/// Tests from method with multi tables.
/// </summary>

View File

@@ -465,6 +465,31 @@ namespace DynamORM
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>
/// <returns>This instance to permit chaining.</returns>
public virtual IDynamicSelectQueryBuilder From<T>(bool noLock)
{
if (noLock)
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).NoLock());
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());
else
return new DynamicSelectQueryBuilder(this).From(x => x(typeof(T)).As(alias));
}
/// <summary>Adds to the <code>FROM</code> clause using <see cref="Type"/>.</summary>
/// <param name="t">Type which can be represented in database.</param>
/// <returns>This instance to permit chaining.</returns>