Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 84106ac

Browse files
Merge pull request #1162 from json-api-dotnet/fix-definition-sort-in-type-hierarchy
Fixed crash in sort lambda from generic resource definition
2 parents 9af5eda + 174a599 commit 84106ac

File tree

2 files changed

+4
-7
lines changed

2 files changed

+4
-7
lines changed

‎src/JsonApiDotNetCore/Resources/SortExpressionLambdaConverter.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,9 @@ private static (Expression? innerExpression, bool isCount) TryReadCount(Expressi
114114

115115
private Expression? ReadAttribute(Expression expression)
116116
{
117-
if (expression is MemberExpression memberExpression)
117+
if (expression is MemberExpression {Expression:{}}memberExpression)
118118
{
119-
ResourceType resourceType = memberExpression.Member.Name == nameof(Identifiable<object>.Id) && memberExpression.Expression != null
120-
? _resourceGraph.GetResourceType(memberExpression.Expression.Type)
121-
: _resourceGraph.GetResourceType(memberExpression.Member.DeclaringType!);
122-
119+
ResourceType resourceType = _resourceGraph.GetResourceType(memberExpression.Expression.Type);
123120
AttrAttribute? attribute = resourceType.FindAttributeByPropertyName(memberExpression.Member.Name);
124121

125122
if (attribute != null)

‎test/JsonApiDotNetCoreTests/UnitTests/ResourceDefinitions/CreateSortExpressionFromLambdaTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void Can_convert_chain_of_ToOne_relationships_ending_in_attribute()
3737
string[] expected =
3838
{
3939
"-fileEntries:content",
40-
"fileSystemEntries:name",
40+
"fileEntries:name",
4141
"fileEntries:length",
4242
"fileSystemEntries:parent.fileSystemEntries:name",
4343
"fileSystemEntries:parent.fileSystemEntries:parent.fileSystemEntries:name"
@@ -103,7 +103,7 @@ public void Can_convert_chain_with_conversion_to_derived_types()
103103
"fileSystemEntries:parent.fileEntries:content",
104104
"count(directoryEntries:subdirectories)",
105105
"count(fileSystemEntries:parent.directoryEntries:files)",
106-
"-fileSystemEntries:name"
106+
"-directoryEntries:name"
107107
};
108108

109109
expression.ToFullString().Should().Be(string.Join(',', expected));

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /