I am using Entity Framework at my work and faced some problems.

Usually I hear about creating tiny Edmx´s files containing tables related to some Domain ie.: Help Desk Edmx, HR Edmx, etc. Instead of load all tables in one big Edmx, what would be much simpler, but for performance considerations(at design and build time mainly), it isn´t feasible.

It took me to some troubles, first about the commom tables, ie.: Employees Tables, it is at all Edmx´s, conflicting when I use a Employee class reference and have a using to both namespaces, then I have to reference the Empoyee class by the full name MyCompany.HelpDesk.Employee.

It doesn´t look natural.

I find myself repeatedly adding the same tables at all EDMX´s, it´s a rework, and I spend some minutes adding a table to entity framework design since I have 2k tables at Add Table Dialog.

Maybe VS2012 could be a solution to load 2k Tables at the same Edmx file(since the designer could be splitted), but I don´t believe that, because it delay to compile too, not only to open the designer.

Another option could be the Code First, but it doesn´t have a decent tool to Reverse Engineer the database to classes, since it tries to load all the tables from database, tooking about 2 hours!


Short Answer: it is common to have delayed response from EDMX Designer when dealing with more than 500 tables.

We had MVC project with EF4 ORM and while having less than 500 tables in our EDM, there were number of times when EF Model Designer just hang on model update. Thus, to minimize this unpleasant behavior we maximized the resources of desktop machine (RAM to 8GB and SSD), and closed all other applications while doing update on edmx file. So, we get a dedicated one developer machine for model updates done through refreshed DB schema.

I have also made re-search on topic and find some good posts that also had positive impact on performance of EF.

Last but not least, according to recent news from EF team, there are numerious improvment in performance of EF4.3, howevet i personally did not play with it.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.