Database First Entity Framework Update Model is not working: What can be the reason?

31,380

Solution 1

This is the normal behavior. ;-)

Your conceptual model will not change if you just modify something DB side, even if you perform the "Update model from database" wizard. Please have a look at this SO answer where I explain how an EDMX is built and how it should evolve.

Solution 2

Check List

  • Check Output window for any error occurred during command Update model from database
  • Check your database connection string from .edmx property window
  • Any custom code generation template that's causing it?
  • Backup a copy of your .edmx, then try removing the modified entity from .edmx and re-add it back

Solution 3

Try this hack from MSDN

1.Build the project after updating EDMX file.

2.Right click your .tt file in solution explorer.

3.Select "Run Custom Tool" option.

Solution 4

I know this is an old question, but since the given answer did not work in my case, I thought I'd just leave my solution here for others with a similar issue.

Assuming you are working with SQL Server Management Studio:

  • Right click "Database Diagrams" and select "New Database Diagram".
  • Include all the tables (except for "__MigrationHistory", if present) and press "Add".
  • Try to update your EDMX again.

For me, this was the solution, after months where I'd been using work-arounds for a project where the edmx was crucial, but refused to update in a normal way anymore. A new co-worker mentioned this as possible fix. The hours I could have saved if I had known this earlier...

Share:
31,380
Jean-François Côté
Author by

Jean-François Côté

I'm a software engineer doing full stack web development but I tend to do more backend. These days I mainly code in Java (Android/Play Framework). I have a solid background in C++ and with C#/.NET from my previous assignments. I'm an Open Source Contributor to Swagger-Codegen, which is a free, open-source project to automatically generate API clients, server stubs and API documentation based on OpenAPI specifications. A good starting point is the eBook: A Beginner's Guide to Code Generation for REST APIs My professionnal website: http://www.jaffsoft.com My recipe blog (in french): http://recettesmaison.ca

Updated on December 10, 2021

Comments

  • Jean-François Côté
    Jean-François Côté over 2 years

    I have an existing MVC 3 application using entity framework 4. The model was generated using a Database-First Mode. I have also "automatic code generation" that generate the class.

    Today, I did a simple modification to my database. A field went from "int" to "float". I went to the .edmx, did a right-click, Update model from database...

    But when I look at the field, it didn't change at all. I double-check everything,and the database is modified, but the model never change... Does it mean I need to do this by hand?

    I remember that I did a couple of update before (like 2 months ago) and it seems to work at the time... What can be broken that I need to check?

    EDIT

    When looking at the edmx diff file in subversion, the change seems to be done but when looking at it in "graphical mode", the change is not there. Also, no generated code is updated.

    -          <Property Name="PreparationTime" Type="int" Nullable="false" />
    +          <Property Name="PreparationTime" Type="float" Nullable="false" />
    
  • Jean-François Côté
    Jean-François Côté almost 11 years
    1) Output is ok! 2)The connection string never change and see my edit, the change seems to work in the file itself 3) I use the EF4 code generator as is 4) Will try that only if it's my last resort!