Skip to content

✨ [FEATURE] Add 'Enum.AsNoTracking' to all methods instead of using bool values #16

@jeffward01

Description

@jeffward01

Summary

I would like to add an overload that takes Enum.AsNoTracking to all of the methods. For example, currently there might be a method such as this:

image

I would like to add an overload that takes an enum instead of bool

image

In this enhancement I suggest we:

  • Add the overload parameter, and eventually in later versions remove the bool parameter
  • Add the overload parameter and also remove the bool parameter

What do you suggest?

Advantage

Explicit parameters help the developer. using a bool of true or false can mean anything. The developer must look at the xml notes in order to see "Ah yes... this is for change tracking"

Here are some articles about it:

Additional context
I will need your advice and suggestions on naming the classes and properties.

I suggest these, please let me know your input and feel free to rename or re-design

Enum

public enum EfTrackingOptions
{
        
    /// <summary>
    /// Disables EfCore change tracking
    /// </summary>
    AsNoTracking,
            
    /// <summary>
    /// Enables EfCore Change Tracking
    /// </summary>
    WithTracking
}

Extension Method

internal static class EfTrackingOptionExtensions
{
    public static bool HasNoTracking(this EfTrackingOptions options)
    {
        return options == EfTrackingOptions.AsNoTracking;
    }
}

Outstanding Questions & Input required

  1. Should we do option 1 of add the overload, and not remove the bool, or option 2 of add the overload and remove the bool parameter
  2. Naming suggestions of enum class name and property names
  3. Naming suggestions of extension method class name and method name

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions