Skip to content

Commit b32280b

Browse files
authored
fixing selects with same names (#372)
1 parent e3cff60 commit b32280b

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

src/Redis.OM/Common/ExpressionTranslator.cs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -627,14 +627,7 @@ private static ReturnFields TranslateSelectMethod(MethodCallExpression expressio
627627
if (assignment.Expression is MemberExpression assignmentExpression)
628628
{
629629
var path = AliasOrPath(t, attr, assignmentExpression);
630-
if (assignmentExpression.Member.Name == binding.Member.Name)
631-
{
632-
returnFields.Add(new (path));
633-
}
634-
else
635-
{
636-
returnFields.Add(new (path, binding.Member.Name));
637-
}
630+
returnFields.Add(new (path, binding.Member.Name));
638631
}
639632
}
640633
}

src/Redis.OM/Redis.OM.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
<RootNamespace>Redis.OM</RootNamespace>
77
<Nullable>enable</Nullable>
88
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
9-
<PackageVersion>0.5.1</PackageVersion>
10-
<Version>0.5.1</Version>
11-
<PackageReleaseNotes>https://github.com/redis/redis-om-dotnet/releases/tag/v0.5.1</PackageReleaseNotes>
9+
<PackageVersion>0.5.2</PackageVersion>
10+
<Version>0.5.2</Version>
11+
<PackageReleaseNotes>https://github.com/redis/redis-om-dotnet/releases/tag/v0.5.2</PackageReleaseNotes>
1212
<Description>Object Mapping and More for Redis</Description>
1313
<Title>Redis OM</Title>
1414
<Authors>Steve Lorello</Authors>

test/Redis.OM.Unit.Tests/RediSearchTests/SearchFunctionalTests.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1096,13 +1096,19 @@ public void TestSelectOnEmbeddedDocuments()
10961096
Assert.Equal(42,resAnonWithAssignments.Field3.InnerInnerCascade.Num);
10971097
Assert.Equal("World",resAnonWithAssignments.Field4.InnerInnerCascade.Tag);
10981098
Assert.Equal(42,resAnonWithAssignments.Field4.InnerInnerCascade.Num);
1099-
1099+
11001100
var resWithOtherObject = collection.Select(x => new CongruentObject{Field3 = x.Field1, Field4 = x.Field2}).ToList().First();
11011101
Assert.Equal("World",resWithOtherObject.Field3.InnerInnerCascade.Tag);
11021102
Assert.Equal(42,resWithOtherObject.Field3.InnerInnerCascade.Num);
11031103
Assert.Equal("World",resWithOtherObject.Field4.InnerInnerCascade.Tag);
11041104
Assert.Equal(42,resWithOtherObject.Field4.InnerInnerCascade.Num);
11051105

1106+
var resWithOtherObjectLikeNames = collection.Select(x => new CongruentObjectWithLikeNames(){Field1 = x.Field1, Field2 = x.Field2}).ToList().First();
1107+
Assert.Equal("World",resWithOtherObjectLikeNames.Field1.InnerInnerCascade.Tag);
1108+
Assert.Equal(42,resWithOtherObjectLikeNames.Field1.InnerInnerCascade.Num);
1109+
Assert.Equal("World",resWithOtherObjectLikeNames.Field2.InnerInnerCascade.Tag);
1110+
Assert.Equal(42,resWithOtherObjectLikeNames.Field2.InnerInnerCascade.Num);
1111+
11061112
var resNoNew = collection.Select(x => x.Field1).ToList().First();
11071113
Assert.Equal("World",resNoNew.InnerInnerCascade.Tag);
11081114
Assert.Equal(42,resNoNew.InnerInnerCascade.Num);

test/Redis.OM.Unit.Tests/Serialization/SelectTestObject.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,9 @@ public class CongruentObject
1616
public InnerObject Field3 { get; set; }
1717
public InnerObject Field4 { get; set; }
1818
}
19+
20+
public class CongruentObjectWithLikeNames
21+
{
22+
public InnerObject Field1 { get; set; }
23+
public InnerObject Field2 { get; set; }
24+
}

0 commit comments

Comments
 (0)