I’m getting a lot of folks asking me about the announcement that EF7 will focus on code first and there will be no support in EF7 for designer based EF models.
I’ll give my two cents, even though I do think the EF team has been pretty clear about this in both their blog post about EF7 plans
EF7 – New Platforms, New Data Stores
and in Rowan Miller’s TechEd talk where he devoted the last 20 minutes to early look at early bits and early thoughts about EF7
Entity Framework: Building Applications with Entity Framework 6
Here’s the scoop: EF6 and the designer will continue to be available and worked on but the big effort will go into EF7 going forward. Personally, I can’t promise it will be around 10 years from now so please don’t bang down my door in 2024.
I’ve also been asked: “should I bother learning about the EDMX since it will not be in EF7?” I firmly believe that learning a bit about modeling via the designer helps get some of the concepts across for if/when you do code first modeling.
Also don’t forget about some of the 3rd party tools that provide designer support such as LLBLGenPro, Huagati Tools, and DevArt’s Entity Developer. I’m guessing they will be moving their tools forward, though I haven’t looked into it yet.
Sign up for my newsletter so you don't miss my conference & Pluralsight course announcements!
11 thoughts on “What About EDMX When EF7 Arrives?”
I just wanted to put my two cents in (dollars actually) for hoping you plan to update your series of EF books for EF 7. I know the team will have a lot of code churn for awhile and the API probably won’t settle down for some time. Nevertheless, I love your three books. The combination of writing style and highly relevant examples made learning how to use EF a true pleasure. Again, here’s hoping you plan to put out one or more similar high quality books for EF 7.
What happens with any custom code I currently create in EF6 by using T4 templates to manipulate the EDMX file? i.e. I use the EDMX to create a repository class per entity, and also to create deep-clone methods per entity etc
Paul, that’s a tricky one. It’s easy to say “oh change your templates to read your classes instead of edmx” but that’s not easy to do. I would hope that any third party companies that continue to support EDMX for EF7 will allow for this.
Yes it becomes a lot trickier trying it that way. As far as I know I’d end up having to use attributes etc not quite the simple task using an EDMX is. I wonder if it is viable to have a separate project that only contains an EF6 EDMX for the purposes of code generation. Feels a bit of hack though.
I will look into your tool to see if it will suffice.
(I wrote LLBLGen Pro)
Paul, the templates have to be converted to our template system but that shouldn’t be too hard (we too use a C# code based template system like T4). The difference being that your templates consume the object model in the designer (entity model (graph), mappings, inheritance graph etc.) but we supply a lot of helper code to make this as easy as possible (the edmx and class generation templates we ship use the same code / object model after all ;))
Can anyone reference a comparison between LLBLGen Pro Designer and DevArt Entity Developer? Thx.
Sorry, posting again so I can get email updates.
I use Visual Studio Database projects for managing the schema of a database. I don’t think I will ever use Entity Framework to update the schema of a database.
For those who will continue to want their Entity model updated by the database schema and not the other way around, what is going to be best practice when moving to Entity Framework 7?
Once upon a time, Code Generation tools such as MyGeneration, CodeSmith and LLBGen were really popular, are they to make a comeback for the purpose of generating EF classes?
Since this post was written, a “scaffold” command has been added to EF7’s powershell and dnx list of commands alongside the migrations commands. It allows you to point to a database and include parameters to target particular objects and more to reverse engineer from a database. But this feature does NOT include updating a model when the db changes. LLBLGen is definitely going strong and continues to be updated. CodeSmith is still around, though I don’t know its status for maintenance. Never heard of MyGeneration
MyGeneration has had about 200,000 downloads on download.com, probably mostly last decade. 200,000 would rate it as popular surely?