Léonard Laiter Léonard Laiter - 8 days ago 4
C# Question

Entity Framework renaming mistake

I am using Entity Framework Code First in my project, and I did something quite silly I can't fix. I have renamed a table in SQL Server Management Studio, and then deleted it there. I then recreated the correct table (just an 's' that wasn't supposed to be here). Now it's not here anymore and I keep getting exceptions in my queries since EF looks for a table that does not exist anymore (even though I renamed it everywhere!). Now my table is called

and it used to be

So I have tried recreating the table in SQL Server, then making a migration with :

public override void Down()

But this does not delete my table. And everytime I execute a query, it looks in
, it does not go for
which is the only name I put in my code. Any ideas how to fix this? I can add some code if you want, I just felt it doesn't help much here.

Edit 1: It might have to do with the pluralization of my tables. So all my tables all had plural names, but the new one doesn't, BUT EF still pluralizes because I checked the option when creating DB Code First.



Code First uses its models to build the queries. You will need to annotate your RelImpUser class (or add comparable fluent code):

using System.ComponentModel.DataAnnotations.Schema;

public class RelImpUser
    public int RelImpID { get; set; }
    public string Field1{ get; set; }

Fluent equivalent:


If you don't want pluralized names, you can turn that convention off:

protected override void OnModelCreating(DbModelBuilder modelBuilder)