Skip to content

Commit da3db0c

Browse files
committed
Fix
1 parent 957cf21 commit da3db0c

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/NHibernate/Tuple/Entity/PocoEntityTuplizer.cs

+11
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using NHibernate.Util;
1313
using System.Runtime.Serialization;
1414
using NHibernate.Bytecode.Lightweight;
15+
using NHibernate.Intercept;
1516

1617
namespace NHibernate.Tuple.Entity
1718
{
@@ -306,6 +307,16 @@ public override bool IsLifecycleImplementor
306307

307308
public override void SetPropertyValue(object entity, int i, object value)
308309
{
310+
//If there is no property setter we need to manually intercept value for proper lazy property handling
311+
if (IsInstrumented && setters[i].PropertyName == null)
312+
{
313+
IFieldInterceptor interceptor = _enhancementMetadata.ExtractInterceptor(entity);
314+
if (interceptor != null)
315+
{
316+
value = interceptor.Intercept(entity, EntityMetamodel.PropertyNames[i], value, true);
317+
}
318+
}
319+
309320
if (isBytecodeProviderImpl && optimizer?.AccessOptimizer != null)
310321
{
311322
optimizer.AccessOptimizer.SetPropertyValue(entity, i, value);

0 commit comments

Comments
 (0)