InfoQ

News

Vendors Line Up Behind ADO.NET Entity Framework

Posted by Jonathan Allen on Dec 20, 2007 06:46 AM

Community
.NET
Topics
Data Access
Tags
ADO.NET ,
LINQ

ADO.NET Entity Framework represents the first major data modeling endeavor from Microsoft since the inception of the .NET framework and typed datasets. Essentially, it serves as an intermediate layer between application code and the database. It is different from LINQ to SQL in that it does not closely mirror the underlying database structure. Instead, data objects are modeled directly and the mappings are handled in an after-the-fact fashion.

At first, Microsoft will only be including the SQL Server provider LINQ to SQL. However, the other database vendors are not going to allow themselves to be left behind. Eight vendors have announced that they will have providers within three months of RTM. David Sceppa of ADO.NET posted this list.

  • Core Lab - Providing connectivity to Oracle, MySQL, PostgreSQL and SQLite databases
  • IBM - Providing connectivity to both IBM DB2 data server and Informix Dynamic Server (IDS) databases
  • MySQL AB - Providing connectivity to MySQL databases
  • Npgsql - Providing connectivity to PostgreSQL database versions 7.3+ and 8.x
  • OpenLink Software - Providing connectivity to Oracle, Informix, Ingres, Sybase, MySQL, PostgreSQL, DB2, Progress and Microsoft SQL Server databases, and any data source accessible via OpenLink ODBC or JDBC bridge drivers
  • Phoenix Software International - Providing connectivity to SQLite databases
  • Sybase - Providing connectivity to SQL Anywhere databases
  • VistaDB Software - Providing connectivity to VistaDB databases
Minor corrections.... by Clinton Begin Posted Dec 20, 2007 10:05 AM
Re: Minor corrections.... by Clinton Begin Posted Dec 20, 2007 10:08 AM
Oracle itself doesn't support it by Frans Bouma Posted Dec 20, 2007 11:29 AM
Re: Oracle itself doesn't support it by Jonathan Allen Posted Dec 20, 2007 11:44 AM
I agree. by Francois Ward Posted Dec 20, 2007 1:00 PM
  1. Back to top

    Minor corrections....

    Dec 20, 2007 10:05 AM by Clinton Begin

    >> ADO.NET Entity Framework represents the first major data modeling endeavor I wouldn't call it a "data modeling endeavor". It's more of a data mapping and concept modeling solution. The conceptual model is mapped to the data model, and the application is subsequently mapped to the conceptual model -- if necessary. Often the conceptual model itself is a reasonably good representation of the domain of the application and can therefore be used directly either with classes generated by the tools, or using anonymous types. >> Microsoft will only be including the SQL Server provider LINQ to SQL LINQ to SQL will remain separate and independent of entities. The LINQ provider for entities is appropriately named LINQ to Entities. What makes me sad about entities is that it reminds me a lot of EJB 1 and 2. The implementation will likely be far better and hopefully simpler. But the idea is the same (although explained more clearly). Look forward to similar patterns and anti-patterns (DTO, business delegate, extra layering) to deal with the same limitations and design constraints that Java developers lived through during the good ol' Enterprise Java Bean days... Clinton

  2. Back to top

    Re: Minor corrections....

    Dec 20, 2007 10:08 AM by Clinton Begin

    Oh.... and to draw even more parallels to EJB, Entities comes with its very own proprietary query language, just like good ol' EJB QL... "Entity SQL" Party like it's 1999... :-)

  3. Back to top

    Oracle itself doesn't support it

    Dec 20, 2007 11:29 AM by Frans Bouma

    The snippet in the RSS feed suggests that Oracle lines up behind the EF as well. But that's not the case, at least not for now. It's unclear when or if they'll release an ODP.NET for EF

  4. Back to top

    Re: Oracle itself doesn't support it

    Dec 20, 2007 11:44 AM by Jonathan Allen

    My apologies, I will alter the summary to be clearer.

  5. Back to top

    I agree.

    Dec 20, 2007 1:00 PM by Francois Ward

    A lot of the recent stuff that came out in .NET 3.5 is from people wanting to do things the "good old way", regardless of how good or bad these things are. ASP.NET MVC, Entity Framework, the list goes on. Personally, I liked the concept of Datasets. It isn't very mature, and right now I don't use them, they don't do exactly what I want, but with a couple of significant upgrades (like many parts of the framework got), it could be the perfect data handling mechanism, fixing issues Java developers were fighting even before .NET came out (and are still fighting with). But people were so stuck in their mindset, that they begged to get the same old object based mechanism that ripple all over the place as soon as the model changes. Microsoft had little choice but to deliver, even if in the long run, it will hurt more than help...

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.