@@ -37,29 +37,45 @@ public DefaultEntityAliases(IDictionary<string, string[]> userProvidedAliases, I
37
37
38
38
private string [ ] DetermineKeyAliases ( ILoadable persister )
39
39
{
40
- if ( _userProvidedAliases == null )
41
- return GetIdentifierAliases ( persister , _suffix ) ;
40
+ if ( _userProvidedAliases != null )
41
+ {
42
+ var result = SafeGetUserProvidedAliases ( persister . IdentifierPropertyName ) ??
43
+ GetUserProvidedAliases ( EntityPersister . EntityID ) ;
42
44
43
- return GetUserProvidedAliases ( persister . IdentifierPropertyName )
44
- ?? GetUserProvidedAliases ( EntityPersister . EntityID )
45
- ?? GetIdentifierAliases ( persister , _suffix ) ;
45
+ if ( result != null )
46
+ return result ;
47
+ }
48
+
49
+ return GetIdentifierAliases ( persister , _suffix ) ;
46
50
}
47
51
48
52
private string DetermineDiscriminatorAlias ( ILoadable persister )
49
53
{
50
- if ( _userProvidedAliases == null )
51
- return GetDiscriminatorAlias ( persister , _suffix ) ;
54
+ if ( _userProvidedAliases != null )
55
+ {
56
+ var columns = GetUserProvidedAliases ( AbstractEntityPersister . EntityClass ) ;
57
+ if ( columns != null )
58
+ {
59
+ return columns [ 0 ] ;
60
+ }
61
+ }
52
62
53
- return GetUserProvidedAlias ( AbstractEntityPersister . EntityClass )
54
- ?? GetDiscriminatorAlias ( persister , _suffix ) ;
63
+ return GetDiscriminatorAlias ( persister , _suffix ) ;
55
64
}
56
65
57
66
/// <summary>
58
67
/// Returns default aliases for all the properties
59
68
/// </summary>
60
- protected string [ ] [ ] GetPropertiesAliases ( ILoadable persister )
69
+ private string [ ] [ ] GetAllPropertyAliases ( ILoadable persister )
61
70
{
62
- return Enumerable . Range ( 0 , persister . PropertyNames . Length ) . Select ( i => GetPropertyAliases ( persister , i ) ) . ToArray ( ) ;
71
+ var propertyNames = persister . PropertyNames ;
72
+ var suffixedPropertyAliases = new string [ propertyNames . Length ] [ ] ;
73
+ for ( var i = 0 ; i < propertyNames . Length ; i ++ )
74
+ {
75
+ suffixedPropertyAliases [ i ] = GetPropertyAliases ( persister , i ) ;
76
+ }
77
+
78
+ return suffixedPropertyAliases ;
63
79
}
64
80
65
81
protected virtual string GetDiscriminatorAlias ( ILoadable persister , string suffix )
@@ -77,20 +93,18 @@ protected virtual string[] GetPropertyAliases(ILoadable persister, int j)
77
93
return persister . GetPropertyAliases ( _suffix , j ) ;
78
94
}
79
95
80
- private string [ ] GetUserProvidedAliases ( string propertyPath )
96
+ private string [ ] SafeGetUserProvidedAliases ( string propertyPath )
81
97
{
82
98
if ( propertyPath == null )
83
99
return null ;
84
-
85
- string [ ] result ;
86
- _userProvidedAliases . TryGetValue ( propertyPath , out result ) ;
87
- return result ;
100
+
101
+ return GetUserProvidedAliases ( propertyPath ) ;
88
102
}
89
103
90
- private string GetUserProvidedAlias ( string propertyPath )
104
+ private string [ ] GetUserProvidedAliases ( string propertyPath )
91
105
{
92
- return GetUserProvidedAliases ( propertyPath ) ? [ 0 ] ;
93
-
106
+ _userProvidedAliases . TryGetValue ( propertyPath , out var result ) ;
107
+ return result ;
94
108
}
95
109
96
110
/// <summary>
@@ -99,14 +113,17 @@ private string GetUserProvidedAlias(string propertyPath)
99
113
public string [ ] [ ] GetSuffixedPropertyAliases ( ILoadable persister )
100
114
{
101
115
if ( _userProvidedAliases == null )
102
- return GetPropertiesAliases ( persister ) ;
116
+ return GetAllPropertyAliases ( persister ) ;
103
117
104
- int size = persister . PropertyNames . Length ;
105
- string [ ] [ ] suffixedPropertyAliases = new string [ size ] [ ] ;
106
- for ( int j = 0 ; j < size ; j ++ )
118
+ var propertyNames = persister . PropertyNames ;
119
+ var suffixedPropertyAliases = new string [ propertyNames . Length ] [ ] ;
120
+ for ( var i = 0 ; i < propertyNames . Length ; i ++ )
107
121
{
108
- suffixedPropertyAliases [ j ] = GetUserProvidedAliases ( persister . PropertyNames [ j ] ) ?? GetPropertyAliases ( persister , j ) ;
122
+ suffixedPropertyAliases [ i ] =
123
+ SafeGetUserProvidedAliases ( propertyNames [ i ] ) ??
124
+ GetPropertyAliases ( persister , i ) ;
109
125
}
126
+
110
127
return suffixedPropertyAliases ;
111
128
}
112
129
0 commit comments