ADO.NET Entity Framework Update

Published 28 April 07 10:09 PM | dpblogs 

Microsoft is deepening its investment in the ADO.NET Entity Framework as a critical piece of Microsoft’s Data Platform vision. Based on the need to align with requirements from key internal partners that are building on the Entity Framework, along with the need for a better tool experience, we have decided to ship the ADO.NET Entity Framework and Tools during the first half of 2008 as an update to the Orcas release of the .NET Framework and Visual Studio. We will continue to ship CTPs and Betas of the ADO.NET Entity Framework that align with Orcas throughout the remainder of this year.

Microsoft shipped the first CTP of the ADO.NET Entity Framework in August of 2006. Customers immediately grasped the power of being able to work with their data through a conceptual model, rather than in terms of database schemas optimized around storage concerns like normalization and data partitioning. In February we added the framework into the CTP and Beta 1 builds of the next version of the .NET Framework and Visual Studio codenamed Orcas.

We’ve collected great feedback from you in these early releases, the most significant being that we need better tools to aid in defining a data model and mapping that model to the database. Although we have tools for generating a direct mapping to the storage schema, the real power of the ADO.NET Entity Framework comes in its ability to flexibly map a variety of relational schema representations to a more appropriate conceptual application model. This has reinforced the need to have a graphical designer experience available for the ADO.NET Entity Framework.

At the same time, Microsoft will be leveraging the Entity Data Model in future versions of Microsoft products such as SQL Server. This Data Platform vision enables customers to leverage their investment in a common conceptual entity model across product lines. Stay tuned for announcements starting next week at Mix around new products building on the ADO.NET Entity Framework.

For more information on the ADO.NET Entity Framework and Microsoft’s Data Access Vision, see the Microsoft Data Access Strategy post on the Data blog. 

Mike Pizzo
Architect, Data Programmabilty

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Sahil Malik said on April 29, 2007 3:53 AM:

So the EDM mapper will now be a part of this release in Half1-2008?

# David said on April 29, 2007 4:31 AM:

WinFS all over again :) And the same lame attempt to spin the story. Why isn't the sentence "We've cut ADO.NET Entity Framework from Orcas" not in this post? Instead bla bla bla sentences that attempt that try to point out the positives of the decision. That is old school PR, not blog style. Be open, be frank. A post that starts with the "we've cut it" sentence would appear sooo much better.

# Nick said on April 29, 2007 4:38 AM:

I wonder if Linq for SQL make it in Orcas?  If it does then perhaps the ADO.NET Entity Framework will be ignored.  IMHO the fact that there appears to be two different ORM techniques in the Orcas+ timeframe just demonstrates a lack of internal communications around this space.

# Frans Bouma's blog said on April 29, 2007 5:23 AM:

First, read the announcement here . Had that deja-vu yet? Me too . But let's not get into that right

# Xiaobo Gu said on April 29, 2007 5:42 AM:

LINQ for SQL and ADO.NET Entity Framework are not the same things, and I think LINQ for SQL is an convenient for EDM. But I also wonder if LINQ for SQL will appear in the first Visual Studio Orcas RTM.

# Guy Burstein's Blog said on April 29, 2007 7:44 AM:

According to ADO.Net Team announcement earlier today, the ADO.Net Entity Framework will not ship with

# Mike Griffin said on April 29, 2007 8:21 AM:

Here's a suggestion, use EntitySpaces, You could have your application up and running in the same time it takes just to download the Orcas Beta.

http://www.entityspaces.net

Oh, and we are truly database independent, our NUnit test suite (same physical executable) runs against Microsoft SQL, Oracle, MySQL, Access, and VistaDB. We also support the Compact Framework and run under Medium Trust. We have a tiny footprint, around 150k.  Our Dynamic Query API is very nice, who needs LINQ? You can switch from DynamicSQL to StoredProcedures for your CRUD operations at runtime. EntitySpaces uses NO REFLECTION. We also provide the best ADO.NET transaction management for pure ADO.NET connection based transaction via esTransactionScope.

# RightHand blogs said on April 29, 2007 8:33 AM:

As many reported ( including me ), ADO.NET team decided to postpone the EDM designer after Orcas/.NET

# Paul Mooney said on April 29, 2007 8:40 AM:

ADO.NET Entity Framework UpdateRight on the heals of the .NET Framework 3.5 Beta 1 release comes...

# Fabrice's weblog said on April 29, 2007 9:13 AM:

Microsoft has just announced that the ADO.NET Entity Framework will not be shipped with Orcas (Visual

# Linq in Action News said on April 29, 2007 9:24 AM:

Microsoft has just announced that the ADO.NET Entity Framework will not be shipped with Orcas (Visual

# Paul Gielens:ThoughtsService said on April 29, 2007 9:46 AM:

Today the ADO.NET team announced that the ADO.NET Entity Framework will not ship with Visual Studio Orcas

# Patrik Löwendahl said on April 29, 2007 10:15 AM:

If the real reason is to make the tools support a "Model-First" approach I really think this is great news and a step in the right direction.

If you just could get rid of that nasty inheritance requirement as well it would be dandy.

More opinions at the blogpost in the link above.

# Paul Gielens said on April 29, 2007 11:18 AM:

True, if a “conceptual model first” approach means that I need to wait even longer than the suggested first half of 2008 I’d be happy too!

# Gary Sherman said on April 29, 2007 1:11 PM:

Kevin Miller recently blogged about the recent confirmation that the EDM Designer will not be in Orcas

# Kamran Shahid said on April 29, 2007 1:19 PM:

OK If ado.net entity framework is not supported in Orcas then What is the new thing in .Net Framework 3.5.

Doesn't .net framework 3.0 should be enough for Orcas.

I am Really Confused With this stupid Strategy.

# Sergio said on April 29, 2007 2:20 PM:

Does that mean the terrorsists have won? Don't let the EF go the way of ObjectSpaces. I'm of the opinion that a less than perfect version 1.0 right now is better than a perfect beta version that's always in the future.

# Michael Pizzo said on April 29, 2007 3:12 PM:

I apologize for the “PR-spin” feel people have associated with this post.  Even a short delay of the Entity Framework is a difficult message, especially to convey through the imprecise nature of written communication.  How do we convey that we believe this to be the right decision, without people losing confidence in the technology, particularly in light of Microsoft’s less-than-perfect record in shipping ORM solutions, and in the wake of WinFS?  I struggled with the wording.  With the approach. With the message.  Yes, marketing was involved in reviewing the content (of course).  I regret now accepting some of their input, but the message is the same.  The Entity Framework will not ship in Orcas.  It will ship shortly there-after.  The slip isn’t about Microsoft’s lack of commitment to the technology. It does give us more time to address some key feedback we’ve received to date from internal and external customers, including providing at least CTP-quality tools for defining flexible mapping between the store and the objects.   There’s no way I can convince you that this isn’t another ObjectSpaces, or another WinFS.  You’ll have to look at how we continue to deliver over the next few months. You’ll have to look at the quality of the bits.  You’ll have to look at the other investments Microsoft is making around the Entity Data Platform, including announcements and demos this week at Mix.

This year I celebrate my 20th year at Microsoft.  In that time I’ve seen Microsoft invests heavily in a number of technologies that, for one reason or another, never come to market.   This isn’t one of them.

Michael Pizzo

Architect, Data Programmability

# Bryan said on April 29, 2007 4:44 PM:

I guess my question would be what's the rush with Orcas? If EDM needs a bit more time, why not just wait until it's done to ship Orcas? A few more months won't make much of a difference in the long run.

Or an alternative idea: since Orcas can target multiple version of the framework, why not just ship Orcas but withhold .Net 3.5 until EDM is ready? That way people who need .Net 3.0 and Vista support can get down to business and we can be spared yet another variation of the framework.

Updating VS with an out-of-band enchancement isn't really a problem for me, but the idea of having to put another dependency on clients' machines leaves me unenthusiastic to say the least.

I'm sorry if these are all things you've considered before coming to this decision, but the post is so vague I'm having trouble seeing why this was the right way to go. Frankly, I would like to see less input from marketing in the future (aside from making sure nothing gets leaked before it's supposed to and so forth).

# Corey said on April 29, 2007 6:59 PM:

I agree with Bryan. I see no reason to rush out the release of Orcas without EDM. Microsoft has already released a whole lot of products as of recent that I still find myself catching up on. I'm sure the other pieces wouldn't hurt to have an extension of six months either. With that said, although there are many improvements with Orcas, the Entity Framework is the only reason I can see us upgrading.

# Thomas Jespersen said on April 29, 2007 7:01 PM:

Hi Michael

I really hope you are right. Please don't let it be a new WinFX/ObjectSpaces. Please, Please, Please.

Next... if you realy do this to re engineer the Entity Framwork to support a more POCO/TDD way of developing this is great news.

But does this mean that we will see a .NET 3.6 that contains the Entity Framework? I hope not.

It would be great if the Entity Framework could be distributed as a bundle of assemblies with our Custom applications (you know... the way that all 3. party assemblies are distributed ;-). That way we could start distribute Beta versions the Entity Framework assemblies as soon as .NET 3.5 ships, and upgrade to RTM when the time comes.

# Paul Wilson's .NET Blog said on April 29, 2007 7:30 PM:

I almost can't believe the great news that came from MS today. That's right, the ADO.NET Entity

# BusinessRx Reading List said on April 29, 2007 9:12 PM:

I almost can't believe the great news that came from MS today. That's right, the ADO.NET Entity

# Evan said on April 30, 2007 1:08 AM:

If this means you are going to head more in the "application model driven" approach (with some TDD goodness), you are going to make my year.. ;-)

Here's to hoping...

# Bruce Johnson's SOA(P) Box said on April 30, 2007 2:11 AM:

So I arrived at earlier today and dove pretty much staight into the gestalt of Mix. Registration was

# Frans Bouma said on April 30, 2007 4:09 AM:

@Evan: if you think they'll re-architect the whole stack to do Model first now you're mistaken. They had a looooooooong time to get things done properly. If you think they just need 3-4 more months to make a completely new stack, please explain to me why they needed all these years to come up with a non-model first stack in the first place.

# David said on April 30, 2007 5:20 AM:

The thing I find really scary is that this seems not to be about the tooling but about aligning with other stuff that is going on inside the big house. Why do I believe that?

If the only problem was that the tooling is not done, there would be 0 reason to not ship the runtime stuff with .Net 3.5. I agree that the tooling is important, but why would that be a reason to delay the runtime stuff? In the past runtime components were shiped before the tooling was done, the most prominent example is certainly WPF. Sure, it would have been nicer to have the tooling right away, but surely it is better to have the runtime stuff in one of the major deployment vehicles (i.e. a .Net runtime release) than to rely on add on installers.

So, I don't buy the tooling story, the real reason must be the alignment with other internal releases. And that scares me. Why? First, this group seems to be unable to say "we are just a few months away from shipping, dear other internal group, and we don't change our release plans at that point". Gee, I would have understood this decision last summer, but now?!? Orcas is expected to ship in a couple of months, all other dev teams seem to be in the end game. If you are willing to take on new dependencies at that point in time, you will never ship anything. The same happened with WinFS: Late, late, late they took on all sorts of new stuff. At some point you guys need to be on auto pilot to release, and that point clearly seems to be long passed at Beta 1. Of course, if you cannot finish something due to time constraints, that is fine. But I get the impression here that NEW strategic plans were made. You simply don't do that at that poin in your release plan.

Quite frankly, I share the vision for the entity stuff. But I get the impression that the team that is responsible does not have the guts to ship, when again and again you guys make major strategic changes to your product close to shipping dates. In 2008 there will be new things to align with in the future. At some point you need to put a foot on the ground and say that is it, we ship it. Nothing would be more healthy for you guys.

# G.T. said on April 30, 2007 7:52 AM:

It is the correct dissension, even if the kids here do not like it :-)

If a features needs to be removed from the next VS.NET in order for it to ship, it needs to be removed, I want to use the new WCF and WPF designers in VS.NET, I want to use the new improvements, the entity framework can come later, not a problem, I am interested, but I am not planning to use it in the near future, maybe I am wrong, but it looks to me like a tool for kids who don’t want to learn SQL ;-)

# kfarmer said on April 30, 2007 2:00 PM:

GT:  I'd characterize LINQ to SQL and LINQ to Entities more as tools for people who know SQL, and are tired of re-writing the entire DAL all the time.

:)

# rogerj said on April 30, 2007 3:36 PM:

"Project Jasper" might be one of the reasons that the Entity Framework slipped past the Orcas RTM timeframe.

See http://oakleafblog.blogspot.com/2007/04/to-deliver-dynamic-adonet-30.html.

--rj

# G.T. said on May 1, 2007 12:00 AM:

To avoid rewriting the data access layer each time, I am using Xsl inside C# to build more C# code, like the C++ template but much better, here is an example with the source code

http://web.livetechnologies.ca/Downloads/CsXslInline.zip

# DonXml's All Things Techie said on May 1, 2007 6:15 AM:

Kathleen Richards, from Redmond Developer News, gave me a call yesterday asking my thoughts on the news

# Impersonation Failure said on May 1, 2007 8:21 AM:

While yesterday was a pretty quiet day at the MEDC, next door at MIX07 things were certainly happening.

# The man said on May 2, 2007 10:58 AM:

I have a suggestion form Microsoft: BUY NHibernate and Code Smith and solve the problem.

# Tom Lee's blog said on May 4, 2007 1:56 AM:

2007年2月28日,Microsoft 負責資料處理技術之架構師 Mike Pizzo 於他的 blog 中透露了目前 ADO.NET Entity Framework 最新現況。Mike Pizzo

# Michael Nemtsev said on May 5, 2007 10:51 AM:

ADO.NET vNext выйдет в 2008г. отдельно от VS Orcas

# Rebel said on May 9, 2007 4:15 PM:

NHibernate + Code Smith != ADO.Net EF

but it sucks that they are slipping, but thats the standard with microsoft.

# Wriju's BLOG said on May 11, 2007 10:24 AM:

Microsoft decided to launch ADO.NET Entity Framework and Tools during the first half of 2008 as an update

# Ion Singh said on May 11, 2007 11:04 AM:

What are you branding this as .NET 4.0!

# Rich said on May 12, 2007 11:14 AM:

My decision to use DevExpress XPO or ADO.NET Entity Framework for my for my latest project just got a lot easier :-/  Good luck with the '08 release it sounds like you're decided to raise the bar with the delay, but it's frustrating nonetheless!

To folks questioning an Orcas release without ADO.NET EF, I'd say folks targeting .NET 3.0 today need Orcas yesterday :)

# Oidon said on May 13, 2007 7:44 PM:

I agree with Bryan and Corey. If EDM needs more time, then delay Orcas. My company is still upgrading to VS2005, and many associates are still using VS2003. Release a better, more complete Orcas by delaying it until all is ready.

# Jafin said on May 14, 2007 12:33 AM:

@Oidon,

No dont hold off the release just for Entity spaces for Orcas, the xtensions to c# and LINQ more than justifies a new release for the next few months.  

As a lot of comments here suggest there are already many _non_ microsoft alternatives to entity spaces which are ready _now_ (Paul Wilson's OR Mapper, LLBLGEN, Nhibernate, Entity Spaces to suggest a few).

But there are not that many (any?) alternatives to something so cool as LINQ.

# Mike Chaliy's Blog said on May 14, 2007 4:44 AM:

Мабуть вже всі чули про то те що ADO.NET Entity Framework не буде в Visual Studio "Orcas"? Соьогодні

# Colin Jack said on May 17, 2007 3:12 AM:

Personally I don't see why some of this stuff isn't released incrementally, the idea of getting some of the functionality in Orcas and the rest letter seemed fine to me.

# All About Interop said on May 23, 2007 12:59 PM:

This topic came up on an internal mailing list at Microsoft. The question is, will LINQ be usable with

# Lowendahl's Shout said on June 11, 2007 9:03 AM:

I just read a post from Mike Pizzo from the ADO.NET team where he announced that ADO.NET EF is pushed

# falken said on June 29, 2007 6:38 AM:

NO! :-), ADO.NET team hopefully tries to remake 15-20 years old czech AGILE and DECLARATIVE and ENTITY driven relational database system PC-FAND for CP/M and lately MS-DOS (may be you cant believe, but in principle its all about ORM, DSL, MVC, no ugly SQL...), which was written in TurboPascal (hello Anders, tnx again:-))... AND THAT FACT IS SIMPLY BEAUTIFULL, MANY THANKS !!! Its FINE to wait, to have all related things TIGHTLY integrated, where needed :-)). Have a nice code, at MS :-) .... My post looks as joke, but unlike many so much agressive posts, I think that it is UP TO MS what and whem will do with its OWN technology... There are other ORM tools which everyone can use immediatelly (and its not big learning curve with any of them and learned principles will be usefull anyway in future...), but all MS things based on C#30, LINQ, DLR (Python,Ruby-) will be simple MUCH BETTER than anything available now :-). String SQL expressions are last VERY HISTORICAL thing, may be together with CRT display:-)), which still lives there. This has no effect to fact thtat relational algebra based databases are (and will be) simply the fastest data storage media. IMHO, will be nice to see Anders Hejlsberg as first Nobel Prize Winner for software engineering :), Howgh!

# Reggie's Ramblings said on July 19, 2007 11:55 AM:

Entity Framework cut. Positive sign?

# 外部部落格 said on July 19, 2007 10:32 PM:

2007年4月28日,Microsoft 負責資料處理技術之架構師 Mike Pizzo 於他的 blog 中透露了目前 ADO.NET Entity Framework 最新現況。Mike Pizzo

# John Ballinger said on August 28, 2007 7:59 PM:

So what's the story today (Aug 28, 2007) about ORM.

Where today is the BEST tool for doing ORM (Object Role Modelling) that will automatically create the DDL for creating the corresponding database.

I've downloaded NORMA but now learn that I need at least "Visual Studio 2005 Standard"  for the NORMA tools.

Conceptual Modelling (Object Role Modelling) makes sense to me as I envision laying out the design of a project for a customer who knows THEIR domain well but not what an E/R diagram is.

thanks - John

# Justin Chase said on September 4, 2007 12:48 PM:

I've been working on an open source project you might find interesting:

http://www.codeplex.com/nbusiness

It's essentially a business object code generator that takes some new approaches to the problem including a C#-esque language to define your entities.

One interesting aspect is the strategy of ROM (relational object mapping) vs. ORM. With NBusiness the ideal way of working you would (but certainly do not have to) generate a database off of your definitions rather than vice versa. Of course it is a fully templated code generator and integrated into visual studio! I'd love to hear some feedback.

(Is there a better way to communicate with the team than these comments?)

# mynameboy said on December 17, 2007 8:39 PM:

when ADO.NET Entity Framework RTM to release?

# dave^2=-1 said on February 1, 2008 5:53 AM:

Microsoft has dropped the Entity Framework , which includes LINQ for Entities, from the .NET 3.5 and

# Javadch said on May 16, 2008 5:52 AM:

I am developing a multi language web site using asp.net, linq to entities (or perhaps linq to sql). I have to handle some data in a multi lingual manner. For example I have a News entity in the conceptual model and I'd like to map it to (News, NewsLocal pair) tables in such a way to be able to do following things:

1. News n = News.CreateNews(id21, "en-US");

a. n.CreatedOn = DateTime.Now; // must go to News.CreatedOn field

b. n.ValidTo = n.CreatedOn.AddDays(7);

c. n.Title = "News Test Title"; // must go to NewsLocal.Title field

d. n.Body = "News Test Body";

e. db.AddToNews(n);

f. db.SaveChanges();

2. var q = from n db.News where n.CultureId == "en-US" && n.ValidTo <= DateTime.Now select n;

3. Some similar approach for update and delete …

Any solution, advice or alternative is needed and welcomed!

Following are table creation scripts:

USE [ECMS]

GO

/****** Object:  Table [dbo].[News]    Script Date: 05/16/2008 13:23:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[News](

[Id] [varchar](36) COLLATE SQL_Latin1_General_CP1256_CI_AS NOT NULL,

[CreatedOn] [datetime] NULL,

[ValidTo] [datetime] NULL,

CONSTRAINT [PK_News] PRIMARY KEY CLUSTERED

(

[Id] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

USE [ECMS]

GO

/****** Object:  Table [dbo].[NewsLocal]    Script Date: 05/16/2008 13:24:04 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[NewsLocal](

[NewsId] [varchar](36) COLLATE SQL_Latin1_General_CP1256_CI_AS NOT NULL,

[CultureId] [varchar](5) COLLATE SQL_Latin1_General_CP1256_CI_AS NOT NULL,

[Title] [varchar](50) COLLATE SQL_Latin1_General_CP1256_CI_AS NULL,

[Body] [varchar](500) COLLATE SQL_Latin1_General_CP1256_CI_AS NULL,

CONSTRAINT [PK_NewsLocal] PRIMARY KEY CLUSTERED

(

[NewsId] ASC,

[CultureId] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

ALTER TABLE [dbo].[NewsLocal]  WITH CHECK ADD  CONSTRAINT [FK_NewsLocal_News] FOREIGN KEY([NewsId])

REFERENCES [dbo].[News] ([Id])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[NewsLocal] CHECK CONSTRAINT [FK_NewsLocal_News]

# Ariful Ambia Noman said on July 3, 2008 6:39 AM:

very helpfully article. i like it

# Pragmatic Developer's Blog said on September 22, 2008 5:08 AM:

Keep an eye on these Microsoft .NET technologies

# Pablo Bergez said on November 19, 2008 4:54 PM:

I am developing for smart device with windows CE, can i use ADO.NET Entity Framework??

# aportillo said on December 8, 2008 6:14 PM:

I am using EF for a 3-tier application, using WCF. I just found that when I change a collection on the client, then the entity cannot be deserialized at the server side. Could somebady explain why is this happenning?

# garry-tz said on January 16, 2009 1:40 PM:

<a href= http://wkvuqmc.angelfire.com >the best of milfs</a> <a href= http://yvwczgd.angelfire.com >lara evans</a> <a href= http://amtzvyi.angelfire.com >shy photography</a> <a href= http://sphqgio.angelfire.com >breast lift dangers</a> <a href= http://hujuocv.angelfire.com >ezekiel bread company</a>

Leave a Comment

(required) 
(optional)
(required) 
Page view tracker