Merge branch 'peta-poco-issues' of https://github.com/pynej/Umbraco-CMS into temp-u4-8729

This commit is contained in:
Stephan
2016-07-19 10:57:03 +02:00
3 changed files with 17 additions and 6 deletions

View File

@@ -2417,6 +2417,7 @@ namespace Umbraco.Core.Persistence
else
_rhs = sql;
_sqlFinal = null;
return this;
}

View File

@@ -51,7 +51,8 @@ namespace Umbraco.Core.Persistence
public static Sql OrderBy<TColumn>(this Sql sql, Expression<Func<TColumn, object>> columnMember, ISqlSyntaxProvider sqlSyntax)
{
var column = ExpressionHelper.FindProperty(columnMember) as PropertyInfo;
var columnName = column.FirstAttribute<ColumnAttribute>().Name;
var columnAttribute = column.FirstAttribute<ColumnAttribute>();
var columnName = columnAttribute == null || string.IsNullOrEmpty(columnAttribute.Name) ? column.Name : columnAttribute.Name;
var type = typeof(TColumn);
var tableNameAttribute = type.FirstAttribute<TableNameAttribute>();
@@ -74,7 +75,8 @@ namespace Umbraco.Core.Persistence
public static Sql OrderByDescending<TColumn>(this Sql sql, Expression<Func<TColumn, object>> columnMember, ISqlSyntaxProvider sqlSyntax)
{
var column = ExpressionHelper.FindProperty(columnMember) as PropertyInfo;
var columnName = column.FirstAttribute<ColumnAttribute>().Name;
var columnAttribute = column.FirstAttribute<ColumnAttribute>();
var columnName = columnAttribute == null || string.IsNullOrEmpty(columnAttribute.Name) ? column.Name : columnAttribute.Name;
var type = typeof(TColumn);
var tableNameAttribute = type.FirstAttribute<TableNameAttribute>();
@@ -96,7 +98,8 @@ namespace Umbraco.Core.Persistence
public static Sql GroupBy<TColumn>(this Sql sql, Expression<Func<TColumn, object>> columnMember, ISqlSyntaxProvider sqlProvider)
{
var column = ExpressionHelper.FindProperty(columnMember) as PropertyInfo;
var columnName = column.FirstAttribute<ColumnAttribute>().Name;
var columnAttribute = column.FirstAttribute<ColumnAttribute>();
var columnName = columnAttribute == null || string.IsNullOrEmpty(columnAttribute.Name) ? column.Name : columnAttribute.Name;
return sql.GroupBy(sqlProvider.GetQuotedColumnName(columnName));
}
@@ -178,8 +181,11 @@ namespace Umbraco.Core.Persistence
var left = ExpressionHelper.FindProperty(leftMember) as PropertyInfo;
var right = ExpressionHelper.FindProperty(rightMember) as PropertyInfo;
var leftColumnName = left.FirstAttribute<ColumnAttribute>().Name;
var rightColumnName = right.FirstAttribute<ColumnAttribute>().Name;
var leftColumnAttribute = left.FirstAttribute<ColumnAttribute>();
var leftColumnName = leftColumnAttribute == null || string.IsNullOrEmpty(leftColumnAttribute.Name) ? left.Name : leftColumnAttribute.Name;
var rightColumnAttribute = right.FirstAttribute<ColumnAttribute>();
var rightColumnName = rightColumnAttribute == null || string.IsNullOrEmpty(rightColumnAttribute.Name) ? right.Name : rightColumnAttribute.Name;
string onClause = string.Format("{0}.{1} = {2}.{3}",
sqlSyntax.GetQuotedTableName(leftTableName),

View File

@@ -29,7 +29,11 @@ namespace Umbraco.Core.Persistence.SqlSyntax
public override string GetQuotedTableName(string tableName)
{
return string.Format("[{0}]", tableName);
if (tableName.Contains(".")) {
var tableNameParts = tableName.Split(new char[] { '.' }, 2);
return string.Format("[{0}].[{1}]", tableNameParts[0], tableNameParts[1]);
} else
return string.Format("[{0}]", tableName);
}
public override string GetQuotedColumnName(string columnName)