InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Vendors Line Up Behind ADO.NET Entity Framework

Posted by Jonathan Allen on Dec 20, 2007

Sections
Architecture & Design,
Development,
Operations & Infrastructure
Topics
Data Access ,
.NET
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
Re: Minor corrections.... by Clinton Begin Posted
Oracle itself doesn't support it by Frans Bouma Posted
Re: Oracle itself doesn't support it by Jonathan Allen Posted
I agree. by Francois Ward Posted
  1. Back to top

    Minor corrections....

    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....

    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

    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

    by Jonathan Allen

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

  5. Back to top

    I agree.

    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

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.