DEV Community

Alexandru Bucur
Alexandru Bucur

Posted on

7

How to rename Asp .Net Core 2.2 Identity Tables to not have AspNet prefix in EF Core

Not sure if the code below should be considered a hack, but the easiest way of removing the AspNet prefix is to iterate through the models.

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);

    foreach (var entityType in modelBuilder.Model.GetEntityTypes())
    {
        var table = entityType.Relational().TableName;
        if (table.StartsWith("AspNet")) {
            entityType.Relational().TableName = table.Substring(6);
        }
    };
}
Enter fullscreen mode Exit fullscreen mode

Found the initial code in a 2014 asp net issue and since copy paste didn't cut it, did a quick update of the method / property names.

This also allows you to replace it with whatever else you want, or add a generic table prefix.

Top comments (1)

Collapse
 
sgermosen profile image
Starling Germosen

On netcore >2.2 this doesnt work, so, you need to change it to this

foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
var tableName = entityType.GetTableName();
if (tableName.StartsWith("AspNet"))
{
entityType.SetTableName(tableName.Substring(6));
}
}

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up