Skip to content

Commit 968e9b2

Browse files
committed
SQLQueryTableNameResolver and SQLQueryParametersBuilder classes exposed.
1 parent 5cb3267 commit 968e9b2

File tree

3 files changed

+21
-15
lines changed

3 files changed

+21
-15
lines changed

Lib/CSQLQueryExpress/CSQLQueryExpress.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<Title>CSQLQueryExpress</Title>
6-
<Version>1.3.5</Version>
6+
<Version>1.3.6</Version>
77
<Description>A simple c# library to compile TSQL queries</Description>
88
<PackageProjectUrl></PackageProjectUrl>
99
<PackageReadmeFile>README.md</PackageReadmeFile>

Lib/CSQLQueryExpress/Compiler/SQLQueryParametersBuilder.cs

+15-9
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,29 @@
22

33
namespace CSQLQueryExpress
44
{
5-
internal class SQLQueryParametersBuilder : ISQLQueryParametersBuilder
5+
public sealed class SQLQueryParametersBuilder : ISQLQueryParametersBuilder
66
{
7-
public IDictionary<string, SQLQueryParameter> Parameters { get; } = new Dictionary<string, SQLQueryParameter>();
7+
IDictionary<string, SQLQueryParameter> ISQLQueryParametersBuilder.Parameters { get; } = new Dictionary<string, SQLQueryParameter>();
88

9-
public string AddParameter(object value)
9+
private readonly string _parameterPrefix;
10+
11+
public SQLQueryParametersBuilder(string parameterPrefix = "@")
1012
{
11-
var parameterName = $"@p{Parameters.Count}";
12-
Parameters.Add(parameterName, new SQLQueryParameter(parameterName, value));
13-
return parameterName;
13+
_parameterPrefix = parameterPrefix;
1414
}
1515

16-
public string AddStoredProcedureParameter(string name, object value, SQLQueryParameterDirection direction)
16+
string ISQLQueryParametersBuilder.AddParameter(object value)
1717
{
18-
var parameterName = $"@{name}";
19-
Parameters.Add(parameterName, new SQLQueryParameter(parameterName, value, direction));
18+
var parameterName = $"{_parameterPrefix}p{((ISQLQueryParametersBuilder)this).Parameters.Count}";
19+
((ISQLQueryParametersBuilder)this).Parameters.Add(parameterName, new SQLQueryParameter(parameterName, value));
2020
return parameterName;
2121
}
2222

23+
string ISQLQueryParametersBuilder.AddStoredProcedureParameter(string name, object value, SQLQueryParameterDirection direction)
24+
{
25+
var parameterName = $"{_parameterPrefix}{name}";
26+
((ISQLQueryParametersBuilder)this).Parameters.Add(parameterName, new SQLQueryParameter(parameterName, value, direction));
27+
return parameterName;
28+
}
2329
}
2430
}

Lib/CSQLQueryExpress/Compiler/SQLQueryTableNameResolver.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
namespace CSQLQueryExpress
88
{
9-
internal class SQLQueryTableNameResolver : ISQLQueryTableNameResolver
9+
public sealed class SQLQueryTableNameResolver : ISQLQueryTableNameResolver
1010
{
1111
private IDictionary<Type, SQLQueryTableName> Alias { get; } = new Dictionary<Type, SQLQueryTableName>();
1212

1313
private IDictionary<Type, IDictionary<MemberInfo, string>> MembersTypes { get; } = new Dictionary<Type, IDictionary<MemberInfo, string>>();
1414

15-
public SQLQueryTableName ResolveTableName(Type objType)
15+
SQLQueryTableName ISQLQueryTableNameResolver.ResolveTableName(Type objType)
1616
{
1717
if (!Alias.TryGetValue(objType, out SQLQueryTableName alias))
1818
{
@@ -46,14 +46,14 @@ public SQLQueryTableName ResolveTableName(Type objType)
4646
return alias;
4747
}
4848

49-
public string ResolveTableNameAsAlias(Type objType)
49+
string ISQLQueryTableNameResolver.ResolveTableNameAsAlias(Type objType)
5050
{
51-
var tableAlias = ResolveTableName(objType);
51+
var tableAlias = ((ISQLQueryTableNameResolver)this).ResolveTableName(objType);
5252

5353
return $"{tableAlias.TableName} AS {tableAlias.TableAlias}";
5454
}
5555

56-
public string ResolveColumnName(Type objType, MemberInfo member)
56+
string ISQLQueryTableNameResolver.ResolveColumnName(Type objType, MemberInfo member)
5757
{
5858
if (!MembersTypes.TryGetValue(member.DeclaringType, out IDictionary<MemberInfo, string> members))
5959
{

0 commit comments

Comments
 (0)