Skip to content

Add ExpandEnumMethods to expand enum extension calls into ternary expressions#150

Merged
PhenX merged 12 commits intomasterfrom
copilot/expand-enum-types-properties
Feb 15, 2026
Merged

Add ExpandEnumMethods to expand enum extension calls into ternary expressions#150
PhenX merged 12 commits intomasterfrom
copilot/expand-enum-types-properties

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 21, 2026

Adds a new ExpandEnumMethods property to the ProjectableAttribute that expands enum extension method calls into a chain of ternary expressions for each enum value. This enables EF Core to translate these expressions to SQL CASE statements, making enum methods usable in Where() and OrderBy() clauses.

How it works

When ExpandEnumMethods = true is set on a projectable property, enum method calls are expanded into ternary expressions that call the method on each enum member. EF Core then evaluates these method calls at runtime.

@this.Status == Status.Pending ? EnumExtensions.GetDisplayName(Status.Pending) : @this.Status == Status.Approved ? EnumExtensions.GetDisplayName(Status.Approved) : null

Supported return types

  • String - returns null as fallback
  • Boolean - returns default(bool) (false) as fallback
  • Integer - returns default(int) (0) as fallback
  • Other value types - returns default(T) as fallback

Features

  • Works with any enum extension method without special configuration
  • Supports nullable enum types (wraps expansion in null check)
  • Supports methods with parameters
  • Supports enum properties on navigation properties

Example

public enum OrderStatus
{
    [Display(Name = "Pending Review")]
    Pending,
    [Display(Name = "Approved")]
    Approved,
}

public static class EnumExtensions
{
    public static string GetDisplayName(this OrderStatus value) { ... }
    public static bool IsApproved(this OrderStatus value) { ... }
    public static string Format(this OrderStatus value, string prefix) { ... }
}

public class Order
{
    public OrderStatus Status { get; set; }
    
    [Projectable(ExpandEnumMethods = true)]
    public string StatusName => Status.GetDisplayName();
    
    [Projectable(ExpandEnumMethods = true)]
    public bool IsStatusApproved => Status.IsApproved();
    
    [Projectable(ExpandEnumMethods = true)]
    public string FormattedStatus => Status.Format("Status: ");
}

SQL Generated

EF Core translates the expanded expressions to CASE statements:

SELECT CASE
    WHEN [o].[Status] = 0 THEN N'Pending Review'
    WHEN [o].[Status] = 1 THEN N'Approved'
END AS [StatusName]
FROM [Orders] AS [o]
Original prompt

This section details on the original issue you should resolve

<issue_title>Expand enum types properties' extension methods to the generated expression tree</issue_title>
<issue_description>While it is not useful in .Select() projections because it is resolved on runtime by EF core, it is useful when used in .Where() and .OrderBy()

Given this example :

public static class EnumExtensions
{
    public static T? GetAttribute<T>(this Enum value) where T : Attribute
    {
        var type = value.GetType();
        var memberInfo = type.GetMember(value.ToString()).FirstOrDefault();
        return memberInfo?.GetCustomAttribute<T>();
    }
}

namespace Foo {
    public static class EntityExtensions
    {
        public enum CustomEnum
        {
            [Display(Name = "Value 1")]
            Value1,
            
            [Display(Name = "Value 2")]
            Value2,
        }
        
        public record Entity
        {
            public int Id { get; set; }
            public CustomEnum? MyValue { get; set; }
            
            [Projectable(EnumPropertiesExapend = true)] // New ProjectableAttribute parameter here
            public string? MyEnumName => MyValue?.GetAttribute<DisplayAttribute>()?.Name;
        }
    }
}

MyEnumName would be expanded to an sequence of ternary expressions (because switch are not suppored in expression trees), like this :

public string MyEnumName => MyValue == CustomEnum.Value1 ? "Value 1" : MyValue == CustomEnum.Value2 ? "Value 2" : null;

Here, GetAttribute() is just an example, it could be any user specified extension, the value would be resolved during compilation to the expression tree source generation.
</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

…enum method expansion

Co-authored-by: PhenX <42170+PhenX@users.noreply.github.com>
Copilot AI changed the title [WIP] Expand enum types properties' extension methods Add ExpandEnumMethods to expand enum extension calls into ternary expressions Jan 21, 2026
Copilot AI requested a review from PhenX January 21, 2026 20:32
@PhenX
Copy link
Copy Markdown
Member

PhenX commented Jan 21, 2026

@copilot I see that methods interpretation is not straightforward at all during source generation, so I want to try something, using the ProjectableEnumMethodAttribute which tends to describe extension methods for what they return, it can be used without argument if the method returns the enum member attribute of type T, one argument (the attribute type) if it returns the attribute of this type from the enum member, or two args : attribute type and property name : if the method returns the attribute's property value.
Please change the evaluation code to use it, and throw a compilation error if it is not present.
Also, add functional tests

Copilot AI and others added 2 commits January 21, 2026 21:15
…ation

Co-authored-by: PhenX <42170+PhenX@users.noreply.github.com>
Co-authored-by: PhenX <42170+PhenX@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jan 21, 2026

@copilot I see that methods interpretation is not straightforward at all during source generation, so I want to try something, using the ProjectableEnumMethodAttribute which tends to describe extensio...

Implemented in becae46.

Added ProjectableEnumMethodAttribute which describes what an enum extension method returns:

  • [ProjectableEnumMethod(typeof(DisplayAttribute), nameof(DisplayAttribute.Name))] - returns the attribute's property value
  • [ProjectableEnumMethod(typeof(DescriptionAttribute))] - returns the attribute's constructor value

The generator now requires this attribute on any method called with ExpandEnumMethods = true and reports error EFP0003 if missing.

Added functional tests that verify the SQL generation for filtering, selecting, and ordering by expanded enum properties.

@PhenX
Copy link
Copy Markdown
Member

PhenX commented Jan 22, 2026

@copilot I was wrong to want to in-line attribute values in the expression tree. All we need is to call the enum methods on the enum members, in the expression tree and let EF do the rest.
Please remove ProjectableEnumMethodAttribute, it's uses and the method evaluation class because it is not needed as the source generator won't need it.
Adapt the unit tests, ans also add tests with enum members on navigation properties.

…ning values

Co-authored-by: PhenX <42170+PhenX@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jan 22, 2026

@copilot I was wrong to want to in-line attribute values in the expression tree. All we need is to call the enum methods on the enum members, in the expression tree and let EF do the rest.
Please rem...

Implemented in f42ef49.

Removed ProjectableEnumMethodAttribute, EnumMethodCallEvaluator, and the EFP0003 diagnostic. The generator now calls enum methods directly on enum members in the expression tree, letting EF Core evaluate them at runtime.

Example generated expression:

@this.Status == Status.Pending ? EnumExtensions.GetDisplayName(Status.Pending) : @this.Status == Status.Approved ? EnumExtensions.GetDisplayName(Status.Approved) : null

Added a test for enum members on navigation properties as requested.

@PhenX
Copy link
Copy Markdown
Member

PhenX commented Jan 22, 2026

@copilot Add new tests (unit et integration) that validate that other types are supported for enum expansion : boolean, integer, etc, and add new test showing that enum extension methods with parameters work well, fix if it does not work.
Update the readme according to the changes in the pull request, for the end user.

Copilot AI and others added 2 commits January 22, 2026 16:59
…rs, update README

Co-authored-by: PhenX <42170+PhenX@users.noreply.github.com>
Co-authored-by: PhenX <42170+PhenX@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jan 22, 2026

@copilot Add new tests (unit et integration) that validate that other types are supported for enum expansion : boolean, integer, etc, and add new test showing that enum extension methods with paramete...

Implemented in e7b388e.

Added:

  • Unit tests for boolean (ExpandEnumMethodsReturningBoolean), integer (ExpandEnumMethodsReturningInteger), and methods with parameters (ExpandEnumMethodsWithParameter, ExpandEnumMethodsWithMultipleParameters)
  • Functional tests for filtering/selecting boolean enums (FilterOnBooleanEnumExpansion, SelectBooleanEnumExpansion), ordering by integer (OrderByIntegerEnumExpansion), and methods with parameters (SelectEnumMethodWithParameter)
  • Fixed generator to use default(T) for non-nullable value types instead of null
  • Updated README with comprehensive documentation for the ExpandEnumMethods feature, including examples for string, boolean, integer return types and methods with parameters

@PhenX PhenX marked this pull request as ready for review January 22, 2026 17:22
@PhenX PhenX requested a review from koenbeuk January 24, 2026 13:06
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds a new ExpandEnumMethods feature to the ProjectableAttribute that enables enum extension method calls to be expanded into ternary expressions, allowing EF Core to translate them into SQL CASE statements. This is particularly useful for Where() and OrderBy() clauses where enum extension methods (like getting display names from attributes) need to be translated to SQL.

Changes:

  • Added ExpandEnumMethods boolean property to ProjectableAttribute
  • Implemented enum method expansion logic in ExpressionSyntaxRewriter that generates ternary expressions for each enum value
  • Added comprehensive test coverage including generator tests and functional tests with verified SQL output
  • Updated README with detailed documentation and examples

Reviewed changes

Copilot reviewed 41 out of 41 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/EntityFrameworkCore.Projectables.Abstractions/ProjectableAttribute.cs Adds ExpandEnumMethods property with XML documentation
src/EntityFrameworkCore.Projectables.Generator/ProjectableInterpreter.cs Extracts ExpandEnumMethods attribute value and passes to ExpressionSyntaxRewriter
src/EntityFrameworkCore.Projectables.Generator/ExpressionSyntaxRewriter.cs Core implementation: expands enum method calls into ternary expressions, handles nullable enums, supports different return types
tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.cs Generator tests covering display attributes, descriptions, nullable enums, navigation properties, boolean/integer returns, and parameterized methods
tests/EntityFrameworkCore.Projectables.Generator.Tests/*.verified.txt Verified expected output for all generator tests
tests/EntityFrameworkCore.Projectables.FunctionalTests/ExpandEnumMethodsTests.cs Functional tests verifying SQL generation for filtering, selecting, ordering, and various enum scenarios
tests/EntityFrameworkCore.Projectables.FunctionalTests/*.verified.txt Verified SQL output for all functional tests across different .NET versions
README.md Comprehensive documentation with examples, generated expressions, and SQL output

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

fabien.menager added 2 commits February 14, 2026 17:08
# Conflicts:
#	src/EntityFrameworkCore.Projectables.Generator/ExpressionSyntaxRewriter.cs
#	src/EntityFrameworkCore.Projectables.Generator/ProjectableInterpreter.cs
#	tests/EntityFrameworkCore.Projectables.Generator.Tests/ProjectionExpressionGeneratorTests.cs
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 41 out of 41 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@PhenX PhenX merged commit 93cb8d2 into master Feb 15, 2026
4 checks passed
@PhenX PhenX added this to the v6.0.0 milestone Feb 15, 2026
@PhenX PhenX deleted the copilot/expand-enum-types-properties branch March 1, 2026 08:38
github-merge-queue bot pushed a commit to DFE-Digital/teaching-record-system that referenced this pull request Mar 27, 2026
Updated
[EntityFrameworkCore.Projectables](https://github.com/EFNext/EntityFrameworkCore.Projectables)
from 5.0.2 to 6.0.0.

<details>
<summary>Release notes</summary>

_Sourced from [EntityFrameworkCore.Projectables's
releases](https://github.com/EFNext/EntityFrameworkCore.Projectables/releases)._

## 6.0.0

## What's Changed

### Major changes

* Add support for projectable method overloads by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#143
* Add C#​14 extension members by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#148
* Support explicitly implemented interface members and default interface
properties by @​rhodon-jargon in
EFNext/EntityFrameworkCore.Projectables#135
* Support block-bodied members with [Projectable] attribute by @​Copilot
in EFNext/EntityFrameworkCore.Projectables#152
* Add ExpandEnumMethods to expand enum extension calls into ternary
expressions by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#150
* Add support for pattern matching in various cases by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#158
* Add support for projectable constructors by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#161
* AOT-compatible static projection registry + SyntaxFactory-based
emission by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#166
* Improve UseMemberBody and add new diagnostics by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#174
* Add code fixes for EFP0001, EFP0002 and EFP0008, with tests by @​PhenX
in EFNext/EntityFrameworkCore.Projectables#181
* Add a code fixer and a code refactorer to transform factory methods
into constructors by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#183
* Improve source generator and analyzer responsiveness by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#171
* Docs website by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#194
* Implement global MSBuild defaults for [Projectable] options by
@​koenbeuk in
EFNext/EntityFrameworkCore.Projectables#191

### Other changes

* Check source generator output compilation by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#156
* Fix GetImplementingProperty issue when using interfaces by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#144
* Full qualification not needed anymore by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#157
* Split generator tests in different classes by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#162
* Refactor ExpressionSyntaxRewriter into focused partial class files by
@​Copilot in
EFNext/EntityFrameworkCore.Projectables#163
* Update readme and add new test for constructors by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#165
* Remove obsolete code by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#167
* Add source generator self-benchmark covering all expression
transformers by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#168
* Fix null conditional rewrite generating invalid member access on
nullable value types by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#169
* Improve generator benchmark with more realistic scenario by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#170
* Fix stale incremental generator cache when referenced types change in
other source files by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#172
* Add tests for properties with a getter and setter by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#173
* UseMemberBody more strict with expressions by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#175
* Add custom Copilot instructions by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#177
* Reorganize generator project by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#178
* Add closure resolution benchmark by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#179
* Feature/optimize closures by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#180
* Feature/optimize resolver by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#182
* Update github project urls by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#184
* Update deps by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#185
* Remove obsolete verified files and name net8 files correctly by
@​PhenX in
EFNext/EntityFrameworkCore.Projectables#186
* Remove all allocations when resolving and make it even faster by
@​PhenX in
EFNext/EntityFrameworkCore.Projectables#189
* Add devcontainer configuration for C# (.NET) development by @​koenbeuk
in EFNext/EntityFrameworkCore.Projectables#190

**Full Changelog**:
EFNext/EntityFrameworkCore.Projectables@v5.0.2...v6.0.0

Commits viewable in [compare
view](EFNext/EntityFrameworkCore.Projectables@v5.0.2...v6.0.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=EntityFrameworkCore.Projectables&package-manager=nuget&previous-version=5.0.2&new-version=6.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Gunn <james@gunn.io>
gunndabad added a commit to DFE-Digital/teaching-record-system that referenced this pull request Mar 27, 2026
Updated
[EntityFrameworkCore.Projectables](https://github.com/EFNext/EntityFrameworkCore.Projectables)
from 5.0.2 to 6.0.0.

<details>
<summary>Release notes</summary>

_Sourced from [EntityFrameworkCore.Projectables's
releases](https://github.com/EFNext/EntityFrameworkCore.Projectables/releases)._

## 6.0.0

## What's Changed

### Major changes

* Add support for projectable method overloads by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#143
* Add C#​14 extension members by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#148
* Support explicitly implemented interface members and default interface
properties by @​rhodon-jargon in
EFNext/EntityFrameworkCore.Projectables#135
* Support block-bodied members with [Projectable] attribute by @​Copilot
in EFNext/EntityFrameworkCore.Projectables#152
* Add ExpandEnumMethods to expand enum extension calls into ternary
expressions by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#150
* Add support for pattern matching in various cases by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#158
* Add support for projectable constructors by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#161
* AOT-compatible static projection registry + SyntaxFactory-based
emission by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#166
* Improve UseMemberBody and add new diagnostics by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#174
* Add code fixes for EFP0001, EFP0002 and EFP0008, with tests by @​PhenX
in EFNext/EntityFrameworkCore.Projectables#181
* Add a code fixer and a code refactorer to transform factory methods
into constructors by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#183
* Improve source generator and analyzer responsiveness by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#171
* Docs website by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#194
* Implement global MSBuild defaults for [Projectable] options by
@​koenbeuk in
EFNext/EntityFrameworkCore.Projectables#191

### Other changes

* Check source generator output compilation by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#156
* Fix GetImplementingProperty issue when using interfaces by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#144
* Full qualification not needed anymore by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#157
* Split generator tests in different classes by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#162
* Refactor ExpressionSyntaxRewriter into focused partial class files by
@​Copilot in
EFNext/EntityFrameworkCore.Projectables#163
* Update readme and add new test for constructors by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#165
* Remove obsolete code by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#167
* Add source generator self-benchmark covering all expression
transformers by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#168
* Fix null conditional rewrite generating invalid member access on
nullable value types by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#169
* Improve generator benchmark with more realistic scenario by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#170
* Fix stale incremental generator cache when referenced types change in
other source files by @​Copilot in
EFNext/EntityFrameworkCore.Projectables#172
* Add tests for properties with a getter and setter by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#173
* UseMemberBody more strict with expressions by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#175
* Add custom Copilot instructions by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#177
* Reorganize generator project by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#178
* Add closure resolution benchmark by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#179
* Feature/optimize closures by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#180
* Feature/optimize resolver by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#182
* Update github project urls by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#184
* Update deps by @​PhenX in
EFNext/EntityFrameworkCore.Projectables#185
* Remove obsolete verified files and name net8 files correctly by
@​PhenX in
EFNext/EntityFrameworkCore.Projectables#186
* Remove all allocations when resolving and make it even faster by
@​PhenX in
EFNext/EntityFrameworkCore.Projectables#189
* Add devcontainer configuration for C# (.NET) development by @​koenbeuk
in EFNext/EntityFrameworkCore.Projectables#190

**Full Changelog**:
EFNext/EntityFrameworkCore.Projectables@v5.0.2...v6.0.0

Commits viewable in [compare
view](EFNext/EntityFrameworkCore.Projectables@v5.0.2...v6.0.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=EntityFrameworkCore.Projectables&package-manager=nuget&previous-version=5.0.2&new-version=6.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Gunn <james@gunn.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expand enum types properties' extension methods to the generated expression tree

4 participants