/
OrmLiteReadExpressionsApiLegacy.cs
87 lines (79 loc) · 3.82 KB
/
OrmLiteReadExpressionsApiLegacy.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
using System;
using System.Collections.Generic;
using System.Data;
namespace ServiceStack.OrmLite.Legacy
{
[Obsolete(Messages.LegacyApi)]
public static class OrmLiteReadExpressionsApiLegacy
{
/// <summary>
/// Create a new SqlExpression builder allowing typed LINQ-like queries.
/// </summary>
[Obsolete("Use From<T>")]
public static SqlExpression<T> SqlExpression<T>(this IDbConnection dbConn)
{
return dbConn.GetExecFilter().SqlExpression<T>(dbConn);
}
/// <summary>
/// Returns results from using an SqlExpression lambda. E.g:
/// <para>db.Select<Person>(q => q.Where(x => x.Age > 40))</para>
/// </summary>
[Obsolete("Use db.Select(db.From<T>())")]
public static List<T> Select<T>(this IDbConnection dbConn, Func<SqlExpression<T>, SqlExpression<T>> expression)
{
return dbConn.Exec(dbCmd => dbCmd.Select(expression));
}
/// <summary>
/// Project results from a number of joined tables into a different model
/// </summary>
[Obsolete("Use db.Select<Into>(db.From<From>())")]
public static List<Into> Select<Into, From>(this IDbConnection dbConn, SqlExpression<From> expression)
{
return dbConn.Exec(dbCmd => dbCmd.Select<Into, From>(expression));
}
/// <summary>
/// Project results from a number of joined tables into a different model
/// </summary>
[Obsolete("Use db.Select<Into>(db.From<T>())")]
public static List<Into> Select<Into, From>(this IDbConnection dbConn, Func<SqlExpression<From>, SqlExpression<From>> expression)
{
return dbConn.Exec(dbCmd => dbCmd.Select<Into, From>(expression));
}
/// <summary>
/// Returns a single result from using an SqlExpression lambda. E.g:
/// <para>db.Single<Person>(q => q.Where(x => x.Age == 42))</para>
/// </summary>
[Obsolete("Use db.Single(db.From<T>())")]
public static T Single<T>(this IDbConnection dbConn, Func<SqlExpression<T>, SqlExpression<T>> expression)
{
return dbConn.Exec(dbCmd => dbCmd.Single(expression));
}
/// <summary>
/// Returns the count of rows that match the SqlExpression lambda, E.g:
/// <para>db.Count<Person>(q => q.Where(x => x.Age < 50))</para>
/// </summary>
[Obsolete("Use db.Count(db.From<T>())")]
public static long Count<T>(this IDbConnection dbConn, Func<SqlExpression<T>, SqlExpression<T>> expression)
{
return dbConn.Exec(dbCmd => dbCmd.Count(expression));
}
/// <summary>
/// Returns results with references from using an SqlExpression lambda. E.g:
/// <para>db.LoadSelect<Person>(q => q.Where(x => x.Age > 40))</para>
/// </summary>
[Obsolete("Use db.LoadSelect(db.From<T>())")]
public static List<T> LoadSelect<T>(this IDbConnection dbConn, Func<SqlExpression<T>, SqlExpression<T>> expression, IEnumerable<string> include = null)
{
return dbConn.Exec(dbCmd => dbCmd.LoadSelect(expression, include));
}
/// <summary>
/// Returns results with references from using an SqlExpression lambda. E.g:
/// <para>db.LoadSelect<Person>(q => q.Where(x => x.Age > 40), include: x => new { x.PrimaryAddress })</para>
/// </summary>
[Obsolete("Use db.LoadSelect(db.From<T>())")]
public static List<T> LoadSelect<T>(this IDbConnection dbConn, Func<SqlExpression<T>, SqlExpression<T>> expression, Func<T, object> include)
{
return dbConn.Exec(dbCmd => dbCmd.LoadSelect(expression, include(typeof(T).CreateInstance<T>()).GetType().AllAnonFields()));
}
}
}