Skip to content

Commit 2ebc172

Browse files
committed
AddValueObjectConverters must skip "ignored" members
1 parent ef2f27c commit 2ebc172

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<Copyright>(c) $([System.DateTime]::Now.Year), Pawel Gerr. All rights reserved.</Copyright>
5-
<VersionPrefix>8.5.2</VersionPrefix>
5+
<VersionPrefix>8.5.3</VersionPrefix>
66
<Authors>Pawel Gerr</Authors>
77
<GenerateDocumentationFile>true</GenerateDocumentationFile>
88
<PackageProjectUrl>https://github.com/PawelGerr/Thinktecture.Runtime.Extensions</PackageProjectUrl>

src/Thinktecture.Runtime.Extensions.EntityFrameworkCore.Sources/EntityFrameworkCore/Conventions/ValueObjectConventionPlugin.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ private void AddSmartEnumAndKeyedValueObjects(IConventionEntityTypeBuilder entit
3535

3636
foreach (var propertyInfo in entity.ClrType.GetRuntimeProperties())
3737
{
38+
if (entity.IsIgnored(propertyInfo.Name))
39+
continue;
40+
3841
var navigation = entity.FindNavigation(propertyInfo);
3942

4043
if (navigation is not null)
@@ -73,19 +76,22 @@ private static void AddNonKeyedValueObjectMembers(IConventionEntityTypeBuilder e
7376
if (!entity.ClrType.TryGetAssignableMembers(out var members) || members.Count == 0)
7477
return;
7578

76-
foreach (var memberName in members)
79+
foreach (var member in members)
7780
{
81+
if (entity.IsIgnored(member.Name))
82+
continue;
83+
7884
#if COMPLEX_TYPES
79-
var complexProperty = entity.FindComplexProperty(memberName);
85+
var complexProperty = entity.FindComplexProperty(member);
8086

8187
if (complexProperty is not null)
8288
continue;
8389
#endif
8490

85-
var property = entity.FindProperty(memberName);
91+
var property = entity.FindProperty(member);
8692

8793
if (property is null)
88-
entity.AddProperty(memberName);
94+
entity.AddProperty(member);
8995
}
9096
}
9197

src/Thinktecture.Runtime.Extensions.EntityFrameworkCore.Sources/Extensions/EntityTypeBuilderExtensions.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,9 @@ private static void AddConverterToNonNavigation(
249249
Dictionary<Type, ValueConverter>? converterLookup,
250250
Action<IMutableProperty> configure)
251251
{
252+
if (entity.IsIgnored(propertyInfo.Name))
253+
return;
254+
252255
// wil be handled by AddConverterForScalarProperties
253256
if (entity.FindProperty(propertyInfo) is not null)
254257
return;
@@ -288,22 +291,25 @@ private static void AddNonKeyedValueObjectMembers(
288291
if (!entity.ClrType.TryGetAssignableMembers(out var members))
289292
return;
290293

291-
foreach (var memberName in members)
294+
foreach (var member in members)
292295
{
296+
if (entity.IsIgnored(member.Name))
297+
continue;
298+
293299
#if COMPLEX_TYPES
294300
#if USE_FIND_COMPLEX_PROPERTY_FIX
295-
var complexProperty = entity.FindComplexPropertyFix(memberName);
301+
var complexProperty = entity.FindComplexPropertyFix(member);
296302
#else
297303
var complexProperty = entity.FindComplexProperty(memberName);
298304
#endif
299305
if (complexProperty is not null)
300306
continue;
301307
#endif
302308

303-
var property = entity.FindProperty(memberName);
309+
var property = entity.FindProperty(member);
304310

305311
if (property is null)
306-
entity.AddProperty(memberName);
312+
entity.AddProperty(member);
307313
}
308314
}
309315

0 commit comments

Comments
 (0)