<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Marcelo's WebLog : Entities</title><link>http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx</link><description>Tags: Entities</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>ADO.NET Data Servces in action (and in Word and Outlook!)</title><link>http://blogs.msdn.com/marcelolr/archive/2009/02/13/ado-net-data-servces-in-action-and-in-word-and-outlook.aspx</link><pubDate>Sat, 14 Feb 2009 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9417674</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/9417674.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=9417674</wfw:commentRss><description>&lt;P&gt;Beth Massi has written a couple of very good posts involving ADO.NET Data Services, which I strongly encourage folks to read.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/bethmassi/archive/2009/01/09/using-ado-net-data-services.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/01/09/using-ado-net-data-services.aspx"&gt;Using ADO.NET Data Services&lt;/A&gt; (the fundamentals, great walk-through)&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/bethmassi/archive/2009/02/02/building-an-office-business-application-for-techready-8.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/02/building-an-office-business-application-for-techready-8.aspx"&gt;Building an Office Business Application for TechReady 8&lt;/A&gt; (awesome teaser)&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/bethmassi/archive/2009/02/07/oba-part-2-building-and-outlook-client-against-lob-data.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/07/oba-part-2-building-and-outlook-client-against-lob-data.aspx"&gt;OBA Part 2 - Building an Outlook Client against LOB Data&lt;/A&gt; (integrating with Outlook is much easier than I thought!)&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://blogs.msdn.com/bethmassi/archive/2009/02/12/oba-part-3-storing-and-reading-data-in-word-documents.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/12/oba-part-3-storing-and-reading-data-in-word-documents.aspx"&gt;OBA Part 3 - Storing and Reading Data in Word Documents&lt;/A&gt; (OpenXML, LINQ to XML, schema inference in VS, Astoria updates, VB XML literals... what more could I ask for?)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Can't wait to see what she comes up with next...&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9417674" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/XML/default.aspx">XML</category></item><item><title>Depth vs. width in ADO.NET Data Services $expand</title><link>http://blogs.msdn.com/marcelolr/archive/2008/12/01/depth-vs-width-in-ado-net-data-services-expand.aspx</link><pubDate>Tue, 02 Dec 2008 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9161268</guid><dc:creator>marcelolr</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/9161268.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=9161268</wfw:commentRss><description>&lt;P&gt;The $expand option in the query filter is used to request entities associated with the last segment of a request. This is often used to ensure that entities can be materialized with their relationships wired together and to reduce the number of roundtrips to the server.&lt;/P&gt;
&lt;P&gt;For example, if &lt;CODE&gt;http://www.example.com/service.svc/Customers&lt;/CODE&gt; returns all customers, then &lt;CODE&gt;http://www.example.com/service.svc/Customers?$expand=Orders&lt;/CODE&gt; could be used to return all customers with all their Orders, assuming customers have an &lt;EM&gt;Orders&lt;/EM&gt; collection.&lt;/P&gt;
&lt;P&gt;You can use request multiple references and collections to be exapnded. One gotcha about the $expand syntax is that there is a different syntax for "drilling" through references: the forward slash is used to indicate drilling in, while a comma is used to separate the parallel expansion paths.&lt;/P&gt;
&lt;P&gt;Here are some examples that will hopefully clarify this (omitting the path to the service).&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;CODE&gt;/Customers?$expand=Orders&lt;/CODE&gt;. Returns customers and the orders of the customers.&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;/Customers?$expand=Orders,Preferences&lt;/CODE&gt;. Returns customers and the preferences of the customers.&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;/Customers?$expand=Orders,Orders/OrderDetails,Preferences&lt;/CODE&gt;. Returns customers, the orders of the customers, the order details of the orders of the customers, and the preferences of the customers.&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;/Customers?$expand=Orders/OrderDetails,Preferences&lt;/CODE&gt;. Same as the last one - when you go deep, all the parents are implied, so &lt;EM&gt;Orders/OrderDetails&lt;/EM&gt;Orders&lt;/EM&gt;.&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;/Customers?$expand=Orders/OrderDetails,Orders/ShippingInfo&lt;/CODE&gt;. Returns customers, the orders of the customers, the order details of the orders of the customers, and the shipping informatio of the orders of the customers. Note that the ',' is used to separate paths starting from the last segment (&lt;EM&gt;Customers&lt;/EM&gt;), so if you want to expand properties in parallel from a deeper entity, you need to specify the path again, as in this example.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Hope this was helpful - please post comments if you have further questions!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9161268" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>Gotcha with EDM types in ADO.NET Data Services</title><link>http://blogs.msdn.com/marcelolr/archive/2008/08/26/gotcha-with-edm-types-in-ado-net-data-services.aspx</link><pubDate>Wed, 27 Aug 2008 02:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8872235</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8872235.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8872235</wfw:commentRss><description>&lt;P&gt;Astute developers might have noticed that there are a couple of differences in the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/bb399213.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb399213.aspx"&gt;Simple EDM types&lt;/A&gt; and how they are &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc668779.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc668779.aspx"&gt;mapped to types in ADO.NET Data Services&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;In particular, DateTimeOffset and Time properties are not available as CLR types in ADO.NET Data Services. For the time being, the DateTime type is your best bet, unless you want to get very very fancy and project out the different parts into other data types under the covers.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8872235" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>Another ADO.NET Data Service metadata tip</title><link>http://blogs.msdn.com/marcelolr/archive/2008/08/25/another-ado-net-data-service-metadata-tip.aspx</link><pubDate>Tue, 26 Aug 2008 02:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8872143</guid><dc:creator>marcelolr</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8872143.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8872143</wfw:commentRss><description>&lt;P&gt;Today's tip is a pretty short one.&lt;/P&gt;
&lt;P&gt;If you see a 'ReflectionServiceProvider' type on an error call stack, you'll know that the 'T' in DataService&amp;lt;T&amp;gt; is not recognized as an ADO.NET Entity Framework data source (the type is actually rather simple - the 'T' should inherit from ObjectContext).&lt;/P&gt;
&lt;P&gt;If the source is an ADO.NET Entity Framework data source, the internal type that's the counterpart of 'ReflectionServiceProvider' is called 'ObjectContextServiceProvider' (not too creative, I know).&lt;/P&gt;
&lt;P&gt;Of course, these internal details are subject to change, and you shouldn't rely on them ever ever ever for anything other than an occasional troubleshooting session.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8872143" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>EntityState problems in ADO.NET Data Service</title><link>http://blogs.msdn.com/marcelolr/archive/2008/08/22/entitystate-problems-in-ado-net-data-service.aspx</link><pubDate>Sat, 23 Aug 2008 02:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8872117</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8872117.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8872117</wfw:commentRss><description>&lt;P&gt;If you're getting an error in your ADO.NET Data Service about 'EntityState' not being a valid property, this is the likely cause.&lt;/P&gt;
&lt;P&gt;The entity types generated by the ADO.NET Entity Framework include a number of properties that help you manage the entity itself, like providing the EntityKey or as in this case the EntityState. The problem is that EntityState is an enumeration type, which data services don't currently support.&lt;/P&gt;
&lt;P&gt;Typically this isn't a problem, because when you are using the ADO.NET Entity Framework, the service will use the properties and types defined in the conceptual model, which of course doesn't mention anything about entity states.&lt;/P&gt;
&lt;P&gt;However, if you are using a 'T' that's not the ObjectContext-derived type in your DataService&amp;lt;T&amp;gt;, the service won't know you're using an ADO.NET Entity Framework types, and will try to discover types and properties by following references, which eventually leads to the EntityState property problem. Using the ObjectContext type as the 'T' should then solve the problem.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8872117" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>Metadata for ADO.NET Data Services</title><link>http://blogs.msdn.com/marcelolr/archive/2008/08/21/metadata-for-ado-net-data-services.aspx</link><pubDate>Fri, 22 Aug 2008 02:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8868867</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8868867.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8868867</wfw:commentRss><description>&lt;P&gt;ADO.NET Data Services have a "magic" resource, called &lt;EM&gt;$metadata&lt;/EM&gt;. This entry point returns a CSDL document, which is generated as described on &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc716656.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc716656.aspx"&gt;this MSDN page&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Why CSDL? Well, it turns out that it's a great language to give a high-level description of data structure. It's also how the ADO.NET Entity Framework models entities and relationships. If you're not familiar with it, I encourage you to go over &lt;A class="" href="http://msdn.microsoft.com/en-us/library/bb399567.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb399567.aspx"&gt;Introducing the Entity Framework&lt;/A&gt; and &lt;A class="" href="http://msdn.microsoft.com/en-us/library/bb399183.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb399183.aspx"&gt;Data Modeling in the Entity Framework&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;One tip: if you're building an ADO.NET Data Service&amp;nbsp;on an Entity Framework data source,&amp;nbsp;any &lt;A class="" href="http://msdn.microsoft.com/en-us/library/bb896294.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb896294.aspx"&gt;custom properties&lt;/A&gt; defined on&amp;nbsp;CSDL elements will flow through the &lt;EM&gt;$metadata&lt;/EM&gt; resource.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8868867" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>Case Study for ADO.NET Data Services</title><link>http://blogs.msdn.com/marcelolr/archive/2008/08/15/case-study-for-ado-net-data-services.aspx</link><pubDate>Fri, 15 Aug 2008 20:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8867514</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8867514.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8867514</wfw:commentRss><description>&lt;P&gt;Here is the summary blurb:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Misys Healthcare Systems &lt;BR&gt;&lt;/STRONG&gt;Team Uses Powerful Tools to Build Innovative Web-Based Medical Records Application&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;For more than a decade, Misys Healthcare Systems and Veracity Solutions have partnered to develop innovative applications that meet the needs of healthcare providers while improving the quality of patient care. To help medical staff reduce manual, paper-based processes, Misys Healthcare Systems and Veracity Solutions collaborated to create FreeNatal, a Web-based application that provides prenatal care providers with an easy-to-use, secure interface for managing patients’ records. Using Microsoft® Visual Studio® 2008 SP1 and the Microsoft .NET Framework 3.5 SP1, eight members from the Misys-Veracity team created the application. By taking advantage of these powerful technologies, the team increased development speed by 60 percent, enabling accelerated market delivery and further strengthening their respective positions in the healthcare informatics industry.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;You can find the whole thing at &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000002427"&gt;http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000002427&lt;/A&gt;. In particular, I find it interesting to see the architecture diagram, which shows how ADO.NET Data Services fits in the picture alongside the ASP.NET MVC components in the business tier, and how the presentation tier can communicate with one or the other (or both) depending on what kind of services it needs.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8867514" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>New Programming Guides for ADO.NET</title><link>http://blogs.msdn.com/marcelolr/archive/2008/08/13/new-programming-guides-for-ado-net.aspx</link><pubDate>Wed, 13 Aug 2008 19:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8852341</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8852341.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8852341</wfw:commentRss><description>&lt;P&gt;It's always been interesting to me to see how different people will approach learning a new API. Some like to go through the programming guides, some through samples, some comb the reference documentation, some dive into the IDE&amp;nbsp;and let Intellisense guide them...&lt;/P&gt;
&lt;P&gt;I've recently talked a bit about what each of the classes in the &lt;A class="" href="http://blogs.msdn.com/marcelolr/archive/2008/08/11/system-data-services.aspx" mce_href="http://blogs.msdn.com/marcelolr/archive/2008/08/11/system-data-services.aspx"&gt;System.Data.Services namespace&lt;/A&gt;. If you're better inclined to go through more conceptual material first, remember that the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/bb399572.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb399572.aspx"&gt;ADO.NET Entity Framework&lt;/A&gt; and &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc668792.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc668792.aspx"&gt;ADO.NET Data Services Framework&lt;/A&gt; guides are in the MSDN Library under Development Tools and Languages | Visual Studio 2008 | Visual Studio | .NET Framework Programming in Visual Studio | Accessing Data | ADO.NET.&lt;/P&gt;
&lt;P&gt;Or, more likely, you'll just keep the direct links around :)&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8852341" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>ADO.NET Data Services How Do I? Videos </title><link>http://blogs.msdn.com/marcelolr/archive/2008/07/31/ado-net-data-services-how-do-i-videos.aspx</link><pubDate>Fri, 01 Aug 2008 03:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8795870</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8795870.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8795870</wfw:commentRss><description>&lt;P&gt;In case you've missed these, we already have some 'How Do I?' videos up on MSDN that cover ADO.NET Entity Framework and ADO.NET Data Services.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/data/cc300162.aspx"&gt;http://msdn.microsoft.com/en-us/data/cc300162.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8795870" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>Entity Framework - MSDN on the Big Picture</title><link>http://blogs.msdn.com/marcelolr/archive/2008/07/07/entity-framework-msdn-on-the-big-picture.aspx</link><pubDate>Tue, 08 Jul 2008 08:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8706627</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8706627.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8706627</wfw:commentRss><description>&lt;P&gt;MSDN Magazine has published &lt;A class="" href="http://msdn.microsoft.com/en-us/magazine/cc700331.aspx" mce_href="http://msdn.microsoft.com/en-us/magazine/cc700331.aspx"&gt;Achieve Flexible Data Modeling With The Entity Framework&lt;/A&gt;, which talks about the ADO.NET Entity Framework starting from the initial motivation, then the different layers that make up the stack (including a nice if smallish diagram), and some of the options for moving data across layers. And of&amp;nbsp;course ADO.NET Data Services is mentioned in that last section.&lt;/P&gt;
&lt;P&gt;The article will be particularly useful for folks approaching the Entity Framework for the first time, as it does a very good job at explaining the bigger picture. It's easy for us folks that have been tracking this for some time to forget that to a large audience this is all new, and it's great to have this kind of content coming up.&lt;/P&gt;
&lt;P&gt;As usual, remember you can post questions at the &lt;A class="" href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1430&amp;amp;SiteID=1" mce_href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1430&amp;amp;SiteID=1"&gt;ADO.NET Data Services (Pre-Release) forum&lt;/A&gt; and the &lt;A class="" href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=533&amp;amp;SiteID=1" mce_href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=533&amp;amp;SiteID=1"&gt;ADO.NET Entity Framework and LINQ to Entities (Pre-release)&lt;/A&gt;&amp;nbsp;forum&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8706627" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>Model transformation with LINQ to XML</title><link>http://blogs.msdn.com/marcelolr/archive/2008/06/26/model-transformation-with-linq-to-xml.aspx</link><pubDate>Thu, 26 Jun 2008 21:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8657664</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8657664.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8657664</wfw:commentRss><description>&lt;P&gt;Mike Taulty has a very nice post on &lt;A class="" href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/06/26/10542.aspx" mce_href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/06/26/10542.aspx"&gt;timestamps and concurrency&lt;/A&gt; in the Entity Framework. Something that I very much like, however, is how he uses all the information available in a single .edmx file, which includes the storage, mapping and conceptual models, to pull information from the storage level and make it relevant at the conceptual level. You can imagine populating other annotations to be consumed or doing similar massaging as necessary.&lt;/P&gt;
&lt;P&gt;And all with a concise, declarative bit of programming. Nice work!&lt;/P&gt;
&lt;P&gt;ADO.NET Data Services plug: yes, when a service is based on an Entity Framework ObjectContext, custom annotation will flow through and clients will be able to see them when they issue a request for service-root/$metadata.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8657664" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>Updating resources in ADO.NET Data Services</title><link>http://blogs.msdn.com/marcelolr/archive/2008/04/11/updating-resources-in-ado-net-data-services.aspx</link><pubDate>Sat, 12 Apr 2008 00:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8382339</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8382339.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8382339</wfw:commentRss><description>&lt;P&gt;The post on updating resources in ADO.NET Data Services has gone up on the &lt;A class="" href="http://blogs.msdn.com/astoriateam/archive/2008/04/10/iupdatable-ado-net-data-services-framework.aspx" mce_href="http://blogs.msdn.com/astoriateam/archive/2008/04/10/iupdatable-ado-net-data-services-framework.aspx"&gt;Project Astoria&lt;/A&gt;&amp;nbsp;blog.&lt;/P&gt;
&lt;P&gt;One thing worth calling out that may not be immediately obvious is that while this is very straightforward to implement this is you have an object model that implements change tracking (because your 'cookie' can be your actual instance), this isn't the only way. You could also implement this by capturing the initial query in the cookie, and then appending all the described changes into some sort of change log. At "SaveChanges" time, you have all the information that the system was able to provide as to what changes the client was requesting, and you can persist them in whatever manner is more appropriate.&lt;/P&gt;
&lt;P&gt;Of course if you're using the &lt;A class="" href="http://msdn2.microsoft.com/en-us/library/bb399572.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb399572.aspx"&gt;ADO.NET Entity Framework&lt;/A&gt;, you get everything for free - no need to worry about this.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8382339" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>Vacations and connecting dots</title><link>http://blogs.msdn.com/marcelolr/archive/2008/03/12/vacations-and-connecting-dots.aspx</link><pubDate>Wed, 12 Mar 2008 20:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8172709</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8172709.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8172709</wfw:commentRss><description>&lt;P&gt;I'll be leaving on vacations for a couple of weeks soon, so it's&amp;nbsp;very unlikely that you'll see updates in that time frame here.&lt;/P&gt;
&lt;P&gt;Vacations are a good time to recharge batteries and spend time broadening horizons, which also helps connect dots sometimes...&lt;/P&gt;
&lt;P&gt;ADO.NET Data Services, the ADO.NET Entity Framework, Silverlight today, Silverlight tomorrow, WPF, data binding, abstractions for data, for behavior, for presentation... Being more efficient at what we do, enabling others to be more efficient... Automating tasks, work, checks, policy... Managing time, work, family life, fun time...&lt;/P&gt;
&lt;P&gt;It's a long flight from Seattle to &lt;A class="" href="http://en.wikipedia.org/wiki/Buenos_Aires" mce_href="http://en.wikipedia.org/wiki/Buenos_Aires"&gt;Buenos Aires&lt;/A&gt;, to begin with :)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8172709" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category></item><item><title>ADO.NET Entity Designer &amp; developer productivity</title><link>http://blogs.msdn.com/marcelolr/archive/2008/01/25/ado-net-entity-designer-developer-productivity.aspx</link><pubDate>Fri, 25 Jan 2008 21:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7244827</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/7244827.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=7244827</wfw:commentRss><description>&lt;P&gt;I admit it - sometimes I fall in love very hard with some of my tools. Tools that make me productive. Tools that I can extend to make me productive. Tools that I rarely interact with but work in the background to make me productive. You get the idea.&lt;/P&gt;
&lt;P&gt;So then I go and read the post on &lt;A class="" href="http://blogs.msdn.com/adonet/archive/2008/01/24/how-does-the-ado-net-entity-designer-generate-code.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2008/01/24/how-does-the-ado-net-entity-designer-generate-code.aspx"&gt;How does the ADO.NET Entity Designer generate code?&lt;/A&gt;, and I start to get all funny inside. You know how EDM is a higher-level model to describe data structures. How you can &lt;A class="" href="http://blogs.msdn.com/adonet/archive/2008/01/11/annotations-in-csdl.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2008/01/11/annotations-in-csdl.aspx"&gt;annotate the models&lt;/A&gt; and then read those annotations from the model (design-time or run-time). And even how to &lt;A class="" href="http://blogs.msdn.com/adonet/archive/2008/01/24/how-to-extract-csdl-from-edmx.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2008/01/24/how-to-extract-csdl-from-edmx.aspx"&gt;extract the models you're interested in&lt;/A&gt; from the files the designer uses.&lt;/P&gt;
&lt;P&gt;And then you put it all together, and you start to think of the possibilities, and start to wonder where you might want to take this...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7244827" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Development/default.aspx">Development</category></item><item><title>Project Astoria CTP now available</title><link>http://blogs.msdn.com/marcelolr/archive/2007/12/10/project-astoria-ctp-now-available.aspx</link><pubDate>Mon, 10 Dec 2007 20:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6725849</guid><dc:creator>marcelolr</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/6725849.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=6725849</wfw:commentRss><description>&lt;P&gt;Scott &lt;A class="" href="http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-3-5-extensions-ctp-preview-released.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-3-5-extensions-ctp-preview-released.aspx"&gt;posted&lt;/A&gt; about this yesterday, but you need to look into the bulleted list to see that the &lt;A class="" href="http://asp.net/downloads/3.5-extensions/" mce_href="http://asp.net/downloads/3.5-extensions/"&gt;ASP.NET 3.5 Extensions CTP&lt;/A&gt;&amp;nbsp;includes updates from the last Project Astoria release. And of course, if you've been keeping up with some of the posts that have been made lately, you'll also know that &lt;A class="" href="http://blogs.msdn.com/astoriateam/archive/2007/12/07/ado-net-data-services-project-astoria.aspx" mce_href="http://blogs.msdn.com/astoriateam/archive/2007/12/07/ado-net-data-services-project-astoria.aspx"&gt;Project Astoria is now ADO.NET Data Services&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;So now that we have a public release of the bits that we've been working on for so long, I'm looking forward to writing a bit on how to use them and what were some of the decisions that we made along the way.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6725849" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Astoria/default.aspx">Astoria</category></item></channel></rss>