Skip to content

Fails to mask with EF Core 9 #329

@karenpayneoregon

Description

@karenpayneoregon

Using the following, there is no masking on SocialSecurity.

I also tried FirstName for both data outputs without a mask.


Following configuration

public partial class Context : DbContext
{
    public Context() { }

    public virtual DbSet<Person> Person { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseEntityFrameworkCoreExtensions();
        optionsBuilder.UseSqlServer("Data Source=.\\SQLEXPRESS;Initial Catalog=MaskingDatabase;Integrated Security=True;Encrypt=False");
        base.OnConfiguring(optionsBuilder);
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Person>(entity =>
        {
            entity.Property(e => e.FirstName).IsRequired();
            entity.Property(e => e.LastName).IsRequired();
            entity.Property(e => e.SocialSecurity).IsRequired();
            entity.Property(t => t.SocialSecurity).HasDataMask(MaskingFunctions.Partial(2, "XX-XX", 1));
        });

        OnModelCreatingPartial(modelBuilder);
    }

    partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}

Model

public partial class Person
{
    public int Id { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public DateOnly BirthDate { get; set; }

    public string SocialSecurity { get; set; }
}

Program.cs

using EF_Core_MaskingSample.Data;

namespace EF_Core_MaskingSample;

internal partial class Program
{
    private static void Main(string[] args)
    {
        using (var context = new Context())
        {
            var person = context.Person.ToList();

            foreach (var p in person)
            {
                Console.WriteLine($"{p.Id,-5}{p.FirstName,-15}{p.LastName,-15}{p.SocialSecurity,-20}{p.BirthDate}");
            }
        }
        Console.ReadLine();
    }
}

Results


1    Stefanie       Buckley        954064725           11/3/1973
2    Sandy          Mc Gee         575473864           7/12/2002
3    Lee            Warren         031369009           5/31/2014
4    Regina         Forbes         102840365           2/4/1967
5    Daniel         Kim            785393139           10/17/1992
6    Dennis         Nunez          571765814           10/27/1965
7    Myra           Zuniga         525944869           10/7/1970
8    Teddy          Ingram         196067150           4/2/2020
9    Annie          Larson         262405409           10/4/1977
10   Herman         Anderson       453559879           12/24/1979
11   Jenifer        Livingston     024960241           8/25/1988
12   Stefanie       Perez          119930056           6/21/2010
13   Chastity       Garcia         242714655           5/7/2002
14   Evelyn         Stokes         545799305           2/25/1955
15   Jeannie        Daniel         599784590           10/30/1958
16   Rickey         Santos         472365572           3/6/2017
17   Bobbie         Hurst          723861880           10/7/1961
18   Lesley         Lawson         157705413           9/23/2013
19   Shawna         Browning       666497648           11/5/2006
20   Theresa        Ross           566885659           10/23/1986

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions