ADO.NET vNext: The Entity Framework, LINQ and more

Published 11 July 06 09:57 AM | alexbarn 

(this post was originally posted here)

Once you are done with shipping large products such as SQL Server 2005 and Visual Studio 2005 you’d expect to have a quiet time for a while, slow down a bit, that kind of stuff…

Turns out that it wasn’t the case this time. Right after SQL Server 2005 and Visual Studio 2005 were ready to ship (and actually even before they were completely done) we started to work hard on the next version of the data programming technologies; we worked on a broad vision that spans various releases and various technologies, and also specifically on how ADO.NET plays in that vision.

In the context of the vision for data programmability and ADO.NET, we decided that the next big step for ADO.NET was to move to a higher-level of abstraction. Connections, commands and readers are great for low-level stuff, but it’s not exactly what you want to be dealing with continuously when writing business logic. There are other aspects that are similarly “low level” and applications have to deal with, like the actual database schemas (e.g. did you even wonder why you have to do a 3-way join just to navigate a relationship between entities instead of just saying “traverse the relationship”?).

Now we’re making public our vision on data programmability, it’s a great read, I highly recommend it.

We’re also making public the specific plans for the next version of ADO.NET, a bit more technical, less formal, but with all the details of how we’re moving the technology forward and describes the ADO.NET Entity Framework, as well as the ADO.NET Entity Data Model (EDM).

The first of a series of Channel 9 videos has been posted - this one features Sam and Anders talking about Entities, LINQ and a few details about how all the stuff fits together.

Feedback on all of this stuff is welcome. I highly encourage folks to check out all of the content we’re putting out there and write us with your thoughts.

Pablo Castro
ADO.NET Technical Lead
Microsoft Corporation

Filed under: ,

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

# ADO.NET team blog said on July 11, 2006 1:06 PM:
Hi - I'm Shyam Pather, Development Lead on the ADO.NET vNext team.
I’m incredibly excited to share...
# ADO.NET team blog said on July 19, 2006 4:43 PM:
A few weeks ago we released a couple of whitepapers that discuss the future directions of the Microsoft...
# Josh said on July 20, 2006 8:54 AM:
Im very excited about the CTP bits coming out!

One question I have about this (and I am not a DB master) is I have been told to use stored procedures over TSQL for security reasons (sql injection) and for performance because I was told a stored procedure is faster than TSQL.

How can stored procedures be utilized in the new Entity Fx? Also, Is there an estimated release window for this new featureset? Will it be released with Orcas and LINQ or .Net 3.0?

Thanks for your hard work!
Josh
# Alejandro said on July 21, 2006 1:49 PM:
Pablo, increible leer tus post, sabiendo que estas en Corp.
Recuerdo epocas que asistia a tus charlas en Bouchard.
Te mando un abrazo desde tu tierra.

Congratulatios.

alejandro (at) mazzitelli.org
# jacobeo said on July 28, 2006 10:38 AM:
At least microsoft includes a persistent framework??

Why this tech. arrives so late?

Congratulations for the work.

# SQLite Development Blog said on August 3, 2006 6:22 PM:
It's high time I started a blog.  I might as well start with a bang, so here goes:
The ADO.NET...
# Robin Bygrave said on August 6, 2006 8:51 PM:
rbygrave at yahoo dot com

Hi guys,
Congratulations, this looks like good stuff.  I have a couple of questions. Apologies if this is the wrong place to ask.

My questions revolve around the example of "Manipulating Data and Persisting Changes". In that example we give the sales reps a 10% bonus.

Q: If you change the scenario to that there is a long time gap between fetching the data objects and persisting them back. How is that handled?  Are you able to use a different ObjectContext and if so what effect does that have?  Is the concurrency checking effected by using a different ObjectContext?

Q: It appears to me that it is the developer that controls the construction and closing of the ObjectContext (AdventureWorksDB in the example).
What effect does this have on lazy loading,  specifically are you able to do lazy loading after the associated ObjectContext has gone out of scope?


Thanks,
Rob.
# Jonathan Bruce's WebLog said on August 7, 2006 9:40 AM:
This time last week we had just started sinking our teeth into an deep dive discussion on all things ADO.NET vNext. Looking back, I think the meetings were an enormous success - my thanks to everyone at Microsoft, and particularily...
# Pablo [MSFT] said on August 15, 2006 7:49 PM:
>>Congratulations, this looks like good stuff.  

Thanks :)

>> Q: If you change the scenario to that there is a long time gap between fetching the data objects and persisting them back. How is that handled?  Are you able to use a different ObjectContext and if so what effect does that have?  Is the concurrency checking effected by using a different ObjectContext?

In the current CTP there is no support for the "long running scenario". We're actively looking at this specific scenario and how applications drop and later on re-construct their execution context, including the object context. The goal of that is to preserve, at users' option, optimistic concurrency check-related information.

>> Q: It appears to me that it is the developer that controls the construction and closing of the ObjectContext (AdventureWorksDB in the example).
What effect does this have on lazy loading,  specifically are you able to do lazy loading after the associated ObjectContext has gone out of scope?

Right now no, lazy loading has to happen within the same context. You can, however, close/re-open the underlying connection if you want to lower the pressure in the database. Once the disconnect/reconnect story (mentioned in the previous answer) is in place, this may be possible.

-pablo
# Alex Barnett blog said on August 15, 2006 11:57 PM:
The ADO.NET vNext Community Technology Preview ('CTP') went live today...Hopefully I can convince Tommy...
# Jorge Serrano - MVP Visual Developer - Visual Basic said on August 16, 2006 3:10 AM:
Microsoft ha anunciado hace tan sólo unas horas, el ADO.NET vNext CTP Agosto 2006, que incluye
# Robin Bygrave said on August 23, 2006 8:26 PM:
>>>
In the current CTP there is no support for the "long running scenario". We're actively looking at this specific scenario and how applications drop and later on re-construct their execution context, including the object context. The goal of that is to preserve, at users' option, optimistic concurrency check-related information.
<<<
For Concurrency checking I believe this will come down to 3 options.
1. degrade down to using a version column
2. invoke an additional query against the database
3. Another approach using full column concurrency checking

If you choose option 3 then you will need to store/keep the version information somewhere. Currently I suspect you keep it with the ObjectContext given the answer above.

Q: Is the ObjectContext a "per user" type of object?

Q: If so and you choose option 3 then is it the case that
some "user session management" will be required?

That is, assuming that the ObjectContext is not to be shared amoungst users then that means to keep a ObjectContext open (or rebuild it with version information) over multiple requests (Aka "long running scenario") then the ObjectContext (or its info) will have to be held in something like a "user session" perhaps linked to a webservers user session.

If you choose concurrency options 1 or 2 then you could just rebuild an empty ObjectContext because neither of those options require separate version information. The issue here being the loss of full column concurrency checking.


Q: Am I off base or is close to the track you are taking?

Thanks, Rob.
# the rasx() context » Blog Archive » System.Data Reformation said on October 20, 2006 2:48 PM:

PingBack from http://www.kintespace.com/rasxlog/?p=479

# sadat said on April 30, 2007 1:49 PM:

link on "our vision on data programmability" looks broken

# What Everyone is Excited About - LINQ « Wilfred Mworia’s Blog said on June 28, 2007 9:50 AM:

PingBack from http://wmworia.wordpress.com/2007/06/28/what-everyone-is-excited-about-linq/

# james said on August 1, 2007 10:10 PM:

hi alexbarn, the link for "our vision on data programmability" is broken. where can I get it now?

# Gili said on August 4, 2008 2:22 PM:

<a href= http://index1.djlea.com >reflections gallery</a> <a href= http://index2.djlea.com >there stands the glass</a> <a href= http://index3.djlea.com >risque lingerie sales</a> <a href= http://index4.djlea.com >movies in knoxville</a> <a href= http://index5.djlea.com >is it important for a boyfriend to give his girlfriend a birthday gift</a>

# ADO NET team blog ADO NET vNext The Entity Framework LINQ and more | Wood TV Stand said on May 31, 2009 8:22 PM:

PingBack from http://woodtvstand.info/story.php?id=6509

# ADO NET team blog ADO NET vNext The Entity Framework LINQ and more | Paid Surveys said on June 2, 2009 3:38 AM:

PingBack from http://paidsurveyshub.info/story.php?id=63084

# 逆援交際 said on June 19, 2009 11:13 PM:

会員制の逆援交際倶楽部では男性は無料、一日最低額10万円保障での交際をお求めできます。ご登録された女性様達はセレブであるがための悩みをそれぞれの方が持ち、皆様、男性との営みを求め、ご登録されております。彼女たちとの初々しい一時をお楽しみ、謝礼をいただいてくださいませ。会員制ですので人数に限りがあるため、打ち切りの場合はご了承ください

# 家出 said on June 20, 2009 11:16 PM:

家出中でネットカフェやマンガ喫茶にいる女の子たちは、お金が無くなり家出掲示板で今晩泊めてくれる男性を探しています。ご飯を食べさせてあげたり泊めてあげることで彼女たちはHなお礼をしてくれる事が多いようです

# 勝ち組負け組 said on June 21, 2009 11:09 PM:

当サイトは、みんなの「勝ち組負け組度」をチェックする性格診断のサイトです。ホントのあなたをズバリ分析しちゃいます!勝ち組負け組度には、期待以上の意外な結果があるかもしれません

# 素人 said on June 22, 2009 10:58 PM:

男性が主役の素人ホストでは、男性のテクニック次第で女性会員様から高額な謝礼がもらえます。欲求不満な人妻や、男性と出会いが無い女性が当サイトで男性を求めていらっしゃいます。興味のある方はTOPページからどうぞ

# エロ漫画 said on June 23, 2009 10:47 PM:

エロ漫画やエロゲーなどでかわいい女の子が淫らな肉欲に溺れる様子をみて「こんなの現実にあるわけない」そう思った事ありませんか?それが当サイトでは現実に実現できるのです!羨ましさを憶えた2次元の中での出来事。あなたと同じように望む女の子が当サイトに集まっているのです

# 高級チェリー said on June 24, 2009 10:43 PM:

高級チェリーの夏は童貞卒業の夏です。セレブ達も童貞を卒業させたくてウズウズしながら貴方との出会いを待っています。そんなセレブ達に童貞を捧げ、貴方もハッピーライフを送ってみませんか

# 助けて〜! said on June 25, 2009 11:16 PM:

何回かメールして会える人一緒に楽しいことしょ?お給料もらったばかりだからご飯くらいならごちそうしちゃうょ♪ cha-a@docomo.ne.jp とりあえずメールくださぃ★

# セレブラブ said on June 26, 2009 10:58 PM:

セレブラブではココロとカラダに癒しを求めるセレブ達と会って頂ける男性を募集しています。セレブ女性が集まる当サイトではリッチな彼女たちからの謝礼を保証、安心して男性はお金、女性は体の欲求を満たしていただけます。無料登録は当サイトトップページからどうぞ

# SOS少女 said on June 27, 2009 11:30 PM:

家出中でお金が無く、ネットカフェを泊り歩いているSOS少女たちは、家出掲示板で泊めてくれたり遊んでくれる男性を探しています。泊めてあげたりすると彼女たちはHなお礼をしてくれるかもしれません。家出少女と遊びたい方は当サイトはどうぞ

# 出張ホスト said on June 29, 2009 11:40 PM:

マダムと甘い時間を過ごしてみませんか?性欲を持て余しているセレブたちは出張ホストサービスで男性を探し、セックスを求めているのです。ホスト希望の方なら容姿や年齢は一切不問!ご近所の女性を探して、多額の報酬をゲットしよう

# スローセックス said on June 30, 2009 11:03 PM:

楽しく、気持ちよく絶頂を味わえることで若い女性から熟女の女性まで幅広い世代で爆発的な人気がある、スローセックス。当サイトはプレイに興味がある、あるいは試してみたいけれど相手がいない…といった方の支援サイトです。当サイトでSEXパートナーを探してみませんか

# 一人エッチ said on July 1, 2009 10:55 PM:

夏真っ盛り!女の子は開放的な気分で一人エッチしたくてウズウズしてるっ!!貴方は女の子のオナ○ーを見て気分を高めてあげてネ!!もちろん、お手伝いしてもオッケーだよ!!さぁ、今すぐ女の子にアクセスしよっ

# メル友募集 said on July 2, 2009 11:45 PM:

恋することって怖くないですか?最近ちょっと臆病になってて…そういうの抜きでえっちなことしたくて… lovely-i0709@docomo.ne.jp優しい人がいたらメール待ってます☆

# 逆円助 said on July 4, 2009 12:13 AM:

さあ、今夏も新たな出会いを経験してみませんか?当サイトは円助交際の逆、つまり女性が男性を円助する『逆円助交際』を提供します。逆円交際を未経験の方でも気軽に遊べる大人のマッチングシステムです。年齢上限・容姿・経験一切問いません。男性の方は無料で登録して頂けます。貴方も新たな出会いを経験してみませんか

# 家出 said on July 4, 2009 11:33 PM:

これから家出したい少女や、現在家出中の娘とそんな娘を助けたい人を繋げるSOS掲示板です。10代、20代の女の子が家庭内の問題などでやむなく家出している子が多数書き込みしています。女の子リストを見て彼女たちにアプローチしてみませんか

# 精神年齢 said on July 6, 2009 12:04 AM:

みんなの精神年齢を測定できる、メンタル年齢チェッカーで秘められた年齢がズバリわかっちゃう!かわいいあの子も実は精神年齢オバサンということも…合コンや話のネタに一度チャレンジしてみよう

Leave a Comment

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