diff --git a/src/EntityFrameworkCore.Projectables/Extensions/TypeExtensions.cs b/src/EntityFrameworkCore.Projectables/Extensions/TypeExtensions.cs index dd4c6ba..266fb03 100644 --- a/src/EntityFrameworkCore.Projectables/Extensions/TypeExtensions.cs +++ b/src/EntityFrameworkCore.Projectables/Extensions/TypeExtensions.cs @@ -89,7 +89,7 @@ namespace EntityFrameworkCore.Projectables.Extensions public static PropertyInfo GetOverridingProperty(this Type derivedType, PropertyInfo propertyInfo) { - var accessor = propertyInfo.GetAccessors()[0]; + var accessor = propertyInfo.GetAccessors(true)[0]; if (!derivedType.CanHaveOverridingMethod(accessor)) { diff --git a/tests/EntityFrameworkCore.Projectables.FunctionalTests/PrivateProjectables.Issue63Repro.verified.txt b/tests/EntityFrameworkCore.Projectables.FunctionalTests/PrivateProjectables.Issue63Repro.verified.txt new file mode 100644 index 0000000..6a9e2b9 --- /dev/null +++ b/tests/EntityFrameworkCore.Projectables.FunctionalTests/PrivateProjectables.Issue63Repro.verified.txt @@ -0,0 +1,2 @@ +SELECT [e].[Id] +FROM [Entity] AS [e] \ No newline at end of file diff --git a/tests/EntityFrameworkCore.Projectables.FunctionalTests/PrivateProjectables.cs b/tests/EntityFrameworkCore.Projectables.FunctionalTests/PrivateProjectables.cs new file mode 100644 index 0000000..bd34ed3 --- /dev/null +++ b/tests/EntityFrameworkCore.Projectables.FunctionalTests/PrivateProjectables.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using EntityFrameworkCore.Projectables.FunctionalTests.Helpers; +using Microsoft.EntityFrameworkCore; +using VerifyXunit; +using Xunit; + +namespace EntityFrameworkCore.Projectables.FunctionalTests +{ + [UsesVerify] + public class PrivateProjectables + { + public record Entity + { + public int Id { get; set; } + } + + bool IsAdmin => true; + + [Fact] + public Task Issue63Repro() + { + using var dbContext = new SampleDbContext(); + + var query = dbContext.Set() + .Where(product => IsAdmin || product.Id == 1); + + return Verifier.Verify(query.ToQueryString()); + } + } +}