Upcoming courses:

  • Aarhus, Denmark, March 5 - 9, 2012
  • New York City, USA, March 26 - 30, 2012
Read more on our website

About me

Brian Holmgård Kristensen

Hi, I'm Brian. I'm a Danish guy primarily working with ASP.NET e-commerce solutions using Microsoft Commerce Server.

I'm co-founder and core-member of Aarhus .NET Usergroup (ANUG), which is a offline community for .NET developers in Denmark.

You can visit my View Brian Holmgård Kristensen's profile on LinkedIn or follow me on Twitter @brianh_dk. Also please feel free to contact me via e-mail Send me an e-mail.


On this page

Entity Framework Introduction



The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

RSS 2.0

Send mail to the author(s) E-mail

Total Posts: 36
This Year: 0
This Month: 0
This Week: 0
Comments: 10

Sign In

Follow me on Twitter @brianh_dk
 Friday, 09 November 2007

I must admit; I was pretty tired at this point, being very focused on getting most out of the sessions. I write notes from each session I attend and when I get back home to my hotel I polish them up so they can be published on my blog. It is causing me a lot of work and it is a bit slow process but it is useful for me, and hopefully others as well. Even though as mentioned I was a bit beaten up at this last session for Tuesday on TechEd for Developers it really had my attention because it was a topic of huge interest. I am really looking for a proper way of modeling my data access layer in a proper encapsulated way supporting my nTier architecture with the benefits of having an OR mapper in place.

The Entity Framework Introduction session was given by a guy called Carl Perry, who is Senior Program Manager Lead at Microsoft, and Carl was here to talk about Data Access methodologies on specific ADO.NET. Data Access as we know it in ADO.NET 2.0 allows a provider based model for abstracting low level access/interaction with the actual store e.g. SQL Server or Oracle.

With Entity Framework they want to raise the level of abstraction. Raise the abstraction from readers, commands and connections for making it easier to build a data driven application as you work closer to your domain model. Entity Framework lets you to only worry about how your domain is expressed. It introduces a Conceptual Schema which is the model we actually program against which has rich support for inheritance and relations. There is also a model to represent the actual data store given by e.g. the schema of tables, views, stored procedures etc. in the actual database called the Store Model. To map between these models Entity Framework introduces a third model in between known as the Mapping Model.

Entity Framework supports many-to-many relationships - it just removes the link table and creates a many-to-many relation on the related objects.

There are two approaches to access data with Entity Framework: 1) Use LINQ, which will properly give you much higher productivity, and 2) use the newly introduced query language called Entity SQL (eSQL) that is a part of the Entity Framework. Entity SQL looks very SQL like, and has the ability to invoke any server function that the provider has mapped. You query against the Conceptual Model in a string-based manner making e.g. joining tables very implicit.

Carl showed us some demos on using the Entity Framework using both approaches as mentioned above.

The Entity Framework is properly going to be shipped on first half of 2008. All database vendors are already developing managed providers on it. The current version of Entity Framework is on Beta 2 with a Beta 3 just around the corners.

I think it was a good session on introducing the Entity Framework and Carl certainly had a lot of knowledge on that area. I’m going to be attending a specific LINQ To Entities session tomorrow, hopefully to get even more insight on the Entity Framework and how it can be used as an OR mapper to support a data driven application. Looking forward for tomorrow sessions after hopefully a good long nights sleep :-)

Posted on Friday, 09 November 2007 08:31:08 (Romance Standard Time, UTC+01:00)
# | Comments [0]