Skip to content

Commit 29d2052

Browse files
committed
Update code to use TryGetMappedNullability method
1 parent 96e29c2 commit 29d2052

File tree

1 file changed

+2
-17
lines changed

1 file changed

+2
-17
lines changed

src/NHibernate/Linq/Visitors/NullableExpressionDetector.cs

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using NHibernate.Linq.Clauses;
66
using NHibernate.Linq.Expressions;
77
using NHibernate.Linq.Functions;
8-
using NHibernate.Persister.Entity;
98
using NHibernate.Util;
109
using Remotion.Linq.Clauses;
1110
using Remotion.Linq.Clauses.Expressions;
@@ -167,23 +166,9 @@ private bool IsNullable(MemberExpression memberExpression, BinaryExpression equa
167166
return false;
168167
}
169168

170-
// We have to check the member mapping to determine if is nullable
171-
var entityName = ExpressionsHelper.TryGetEntityName(_sessionFactory, memberExpression, out var memberPath, out _);
172-
if (entityName == null || memberPath == null)
169+
if (!ExpressionsHelper.TryGetMappedNullability(_sessionFactory, memberExpression, out var nullable) || nullable)
173170
{
174-
return true; // Not mapped
175-
}
176-
177-
var persister = _sessionFactory.GetEntityPersister(entityName);
178-
if (persister.EntityMetamodel.GetIdentifierPropertyType(memberPath) != null)
179-
{
180-
return false; // Identifier is always not null
181-
}
182-
183-
var index = persister.EntityMetamodel.GetPropertyIndexOrNull(memberPath);
184-
if (!index.HasValue || persister.EntityMetamodel.PropertyNullability[index.Value])
185-
{
186-
return true; // Not mapped or nullable
171+
return true; // The expression contains one or many unsupported nodes or the member is nullable
187172
}
188173

189174
return IsNullable(memberExpression.Expression, equalityExpression);

0 commit comments

Comments
 (0)