Skip to content

Commit 8f9157d

Browse files
committed
Avoid split and join aliases in ContainsEntityAlias
1 parent bad7081 commit 8f9157d

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

src/NHibernate/Persister/Entity/SubqueryPropertyMapping.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,21 +130,20 @@ public List<ISelectExpression> GetRelatedSelectExpressions(string path, out Sele
130130

131131
public bool ContainsEntityAlias(string alias, IType type)
132132
{
133-
var aliases = alias.Split(StringHelper.Dot);
134-
var rootAlias = aliases[0];
133+
bool isRoot = !StringHelper.IsNotRoot(alias, out var rootAlias);
135134
if (!_propertyAliasMappings.TryGetValue(rootAlias, out var mapping))
136135
{
137136
return false;
138137
}
139138

140-
if (aliases.Length == 1)
139+
if (isRoot)
141140
{
142141
return mapping.Type.Equals(type);
143142
}
144143

145144
if (mapping is SubqueryPropertyMapping joinSubQueryMapping)
146145
{
147-
return joinSubQueryMapping.ContainsEntityAlias(JoinPaths(aliases.Skip(1)), type);
146+
return joinSubQueryMapping.ContainsEntityAlias(alias.Substring(rootAlias.Length + 1), type);
148147
}
149148

150149
return false;

0 commit comments

Comments
 (0)