Reputation: 4340
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" />
Upvotes: 10
Views: 38399
Reputation: 1
All answers above did not fix my problem. Here is what fixed the issue for me:
Check your warnings section, the table you want to update/add in your model does not have the necessary elements (primary key missing for example). Update your database table to fix the warnings then update your model.
Upvotes: 0
Reputation: 338
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.
Upvotes: 1
Reputation: 532
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:
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...
Upvotes: 1
Reputation: 4758
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.
Upvotes: 11
Reputation: 16440
Check List
Output
window for any error occurred during command Update model from database
Upvotes: 3