Entity Framework Core Error: To change the IDENTITY property of a column, the column needs to be dropped and recreated

Question: How do you resolve the Entity Framework Error in Asp.Net Core 3.1: To change the IDENTITY property of a column, the column needs to be dropped and recreated


Please Login to see the rest of the answer

Answer: First of all, make sure that your ef core is up to date by updating the dotnet tools in Powershell using the command: dotnet tool update --global dotnet-ef

- After verifying the dotnet ef core is up to date, remove the migration using Powershell.
     - to do this, you need to be in the project folder. CD into the project folder and run the following command:
   -  dotnet ef migrations remove --context SpecifyYourDatabaseContextIfYouHaveMoreThanOne
   - dotnet ef update --context SpecifyYourDatabaseContextIfYouHaveMoreThanOne
  If the commands are successful, go ahead and add a migration with your changes in the class modal

    - dotnet ef migrations add NameOfMigration --context SpecifyYourDatabaseContextIfYouHaveMoreThanOne

  • If you get the error: Column names in each table must be unique. The column name 'id' in table 'TableName' is specified more than once.

    - Make sure the column name is unique, and that the column name does not exist in the Table you are trying to update through the code-first Entity Framework.
     [NB] Keep in mind how you scaffolded the first Modal, was it Database First or Code First Entity Framework you used when creating a new Class Model? This might also contribute to the error you are having.
  • Make sure that the column name 'id' does not exist in the table (Database side). 
    - In order to check whether column name, 'id' does not exist in the table on the Database Side, right-click the table and got to "Design", this will show you whether the table contains column 'id' or not.
    - [NB] If you just expand the Columns tab under the table, sometimes the table does not show you the column exists.

[Note] Read about how to optimize Entity Framework for Performance here.

 


Write an Article
#EF core #programming tools Technology published
If you log in, you will be notified when someone leaves a comment.

Other users would like to know if this solution helped you.


© 2022 - ErnesTech - Privacy