<?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>BenkoBLOG : LINQ</title><link>http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx</link><description>Tags: LINQ</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>LINQ in C# demo code posted...</title><link>http://blogs.msdn.com/benko/archive/2009/01/07/linq-in-c-demo-code-posted.aspx</link><pubDate>Thu, 08 Jan 2009 01:37:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9290834</guid><dc:creator>benko</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/benko/comments/9290834.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=9290834</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=9290834</wfw:comment><description>&lt;p&gt;As promised from &lt;a href="http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;amp;Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032399805%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e"&gt;today's webcast&lt;/a&gt; I've uploaded the demo code that works with LINQ in a variety of scenarios. I didn't include the database, but I can include a script to create it if anyone's interested. Let me know.&lt;/p&gt;  &lt;p&gt;Thanks&lt;/p&gt;  &lt;p&gt;Mike&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9290834" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/BenkoTIPS/default.aspx">BenkoTIPS</category><category domain="http://blogs.msdn.com/benko/archive/tags/Code/default.aspx">Code</category><category domain="http://blogs.msdn.com/benko/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>That LINQ Error...</title><link>http://blogs.msdn.com/benko/archive/2009/01/07/that-linq-error.aspx</link><pubDate>Thu, 08 Jan 2009 01:33:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9290801</guid><dc:creator>benko</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/benko/comments/9290801.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=9290801</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=9290801</wfw:comment><description>&lt;p&gt;In today's webcast on LINQ in C# we looked at joining XML data with SQL Server and we got the error &amp;quot;&lt;i&gt;Local sequence cannot be used in LINQ to SQL implementation of query operators except the Contains() operator&lt;/i&gt;&amp;quot; when we tried to run it. Looking deeper into what happened, it appears that the order in which collections are joined in LINQ is important. The original code looked like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/benko/WindowsLiveWriter/ThatLINQError_E8BA/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="389" alt="image" src="http://blogs.msdn.com/blogfiles/benko/WindowsLiveWriter/ThatLINQError_E8BA/image_thumb.png" width="514" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;What I found is that we need to specify that we're working with the XML resultset v in venues first and then join to e in events...basically reverse the order that the joined set linqs the two:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/benko/WindowsLiveWriter/ThatLINQError_E8BA/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="80" alt="image" src="http://blogs.msdn.com/blogfiles/benko/WindowsLiveWriter/ThatLINQError_E8BA/image_thumb_1.png" width="527" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10pt; font-family: " yes?="yes?" mso-no-proof:="mso-no-proof:" Roman?;="Roman?;" New="New" ?Times="?Times" mso-bidi-font-family:="mso-bidi-font-family:" console?;="console?;" lucida="lucida"&gt;Weird...&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9290801" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/BenkoTIPS/default.aspx">BenkoTIPS</category><category domain="http://blogs.msdn.com/benko/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.msdn.com/benko/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/benko/archive/tags/Demo+Code/default.aspx">Demo Code</category></item><item><title>Q&amp;amp;A from LINQ to Entities Webcast</title><link>http://blogs.msdn.com/benko/archive/2007/09/25/q-a-from-linq-to-entities-webcast.aspx</link><pubDate>Tue, 25 Sep 2007 06:11:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5111276</guid><dc:creator>benko</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/benko/comments/5111276.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=5111276</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=5111276</wfw:comment><description>&lt;p&gt;&lt;img align="right" src="http://www.benkotips.com/blogs/mbenko/092507_0311_QAfromLINQt1.png" alt=""/&gt; You got questions? Well we got answers!  On &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032349380&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;today's webcast&lt;/a&gt; we had the special treat of having some of the members of the LINQ team online with us answering questions. There were so many of them I thought I'd post the conversation. I hope it helps answer any questions you've got, and if not then shoot me an &lt;a href="mailto:mike.benkovich@microsoft.com?subject=LINQ%20to%20Entities%20Webcast%20Q&amp;amp;A"&gt;email&lt;/a&gt; and we'll see what we can do! And thank you Elisa for all your help!
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; How are 'LINQ to Entities' and 'LINQ to Objects' related? (same technologies, or is there more)
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Both LINQ to Entities and LINQ to Objects are implemenations of the LINQ technology. LINQ to Objects provides LINQ access to any IQueryable object. In this case LINQ to Entities is providing access to the data sufaced as objects through ADO.NET Entity Framework with the ability to access Microsoft SQL Server or any third party database, without needing to develop the layer that accesses the database and translates the LINQ Queries into a native SQL to the database.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;Do you know where the EF update for VS 2008 Beta 2 is?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Yes, it can be downloaded at http://msdn.microsoft.com/data
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;is there a dependency on .NET 3.5?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;yes
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;Is IntelliSense available for LINQ in Visual Studio 2008?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;yes
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;Is LINQ available only to SQL Server ?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;LINQ to SQL is available only to the SQL Server Family of databases. If you are looking for access to other databases (DB2, Informix, Oracle) LINQ to Entities and the Entity Framework provides this access.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; will the model first scenario be imlemented for RTM?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Our Designer team is working hard on implementing this scenario prior to RTM.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;will this work with oracle db?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Yes. We are working closely with both Oracle and Data Direct on providers for Oracle access
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; So this is only available with .NET 3.5 and vs 2008?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;yes. The Entity Framework is currently available in Beta 2 on top of VS2008 from http://msdn.microsoft.com/data and will be released as an update to VS2008 in the first half of 2008.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;How about class -&amp;gt; multiple tables and multiple classes -&amp;gt; table
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Definately. LINQ to Entities and the Entity Framework provide a very flexible mapping scenario including these as well as Complex types and all three common types of Inheritance among others.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; Can LINQ be used with VS 2005?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;No
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;May I use LINQ to Entities and the Entity Framework with SQL Server too ? Or with SQL Server I should always use LINQ for DataSets ?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Yes you can. Mike is currently demo against SQL Server
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; How does LINQ work in an environment where you have a smart client talking to a server using .net remoting or web services?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;This is actually a prime scenario for another project we are currently working on, Project Astoria, which makes it very easy to access the Entity Framework through a special Web Data Service. Stay tuned in November and December for more information on the Astoria project and check out http://astoria.mslivelabs.com
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;Is this compatible with SQL 2008?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Yes. There is one caveat however. In the currently available betas you cannot use Server Explorer in Visual Studio 2008 to access SQL Server 2008. We are working hard to enable this for upcoming releases of SQL 2008 and VS 2008.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; What improvements can we expect in the designer? The current beta isn't particular useful for large databases/models.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;The current designer is actually a CTP 1 that works with the Beta 2 of the EF. We are currently working hard to implement customer feedback and implement things such as the model first scenario. You should see significant changes in the designer coming soon.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;Can the Entity Classes be Serialized and Deseralized like other .NET classes?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;yes
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; We would like to be able to map a table to a complex object. For example, our tables have enteredDate and enteredBy columns. We have an AuditInformation class with both of these properties. We would like to have the Entity have a property of type AuditInformation and have LINQ to SQL/Entity map to the Object.AuditInformation property instead of separate properties.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;From your explaination, it looks like Complex Types in the Entity Framework should be what you're looking for.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; Are complex types available from LINQ to SQL?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;No they are not.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;I hope people would rather use LINQ than go back to text SQL queries ...
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;In most cases, I agree. There are however scenarios where you want to avoid the object materialization and identity tracking that is involved in LINQ, and rather access the Entity Data Model more directly to achieve performance. This is often where Entity SQL is used.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; Are complex types the answer for inheritance as well? For example, I have a BusinessObjectBase class that has an id column (among other things). I would like my Customer object inherit from businessObjectBase and have the id populated. If this is the case, how do I map the CustomerId column to Entity.Id.
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;No. The Entity Framework supports the direct mapping of the three common inheritance types (TPH, TPConcrete Class and TPSubclass).
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; this deferred execution thingy is really confusing. Will LINQ2EF support explicit execution of the queries?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Yes
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; Do you think that your reviving the E-R concept will affect general OO practice? You have done a data-centric O-R here. Given the difficult history of O-R, MS included, do you expect a wider impact than just .NET development and SQL Server?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;The Entity Framework Version 1 has been developed as a common model for many other technologies to build on. We have previously announced products such as Commerce Server building on the Entity Framework and you can imagine a world where Reporting Services etc also make use of the same model that your developers use...
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; So this technology basically replaces the need to write our own data layer?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;that's one way to look at it :)
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; For enterprise applications, typically data access isn't done from the Presentation Tier. How would you approach using this with a Business Tier (e.g., through a service layer) or is Astoria THE way?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Astoria is best used when your presentation layer makes use of RIA (Silverlight) or Ajax etc. I have a couple of Samples coming out soon that explore the 3-teir scenario. Keep an eye on the ADO.NET team blog on http://blogs.msdn.com/adonet for the samples
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;Can this layer exist on a remote server with the Linq calls coming from a smart client?
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;yes
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked: &lt;/strong&gt;ah, "concrete class" uses two tables for each subclass...
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;sorry i didn't get to this sooner :)
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Asked:&lt;/strong&gt; where can i find 3 tier with linq examples and Software factory examples
&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;strong&gt;Answered: &lt;/strong&gt;Check out the sample on the Data Platform Developer Center site - http://msdn2.microsoft.com/en-us/data/aa937695.aspx&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5111276" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Code Posted for LINQ to Entities Webcast</title><link>http://blogs.msdn.com/benko/archive/2007/09/24/linq-to-entities-webcast.aspx</link><pubDate>Mon, 24 Sep 2007 21:15:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5103585</guid><dc:creator>benko</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/benko/comments/5103585.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=5103585</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=5103585</wfw:comment><description>&lt;p&gt;In preparation for &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032349384&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;today's webcast&lt;/a&gt; I wanted to give you some information and links that may be helpful in working with the technology…
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/data/aa937695.aspx"&gt;Download the Linq to Entity Framework and Tools&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.benkotips.com/Default.aspx?tabid=628"&gt;Code from today's webcast&lt;/a&gt;
		&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I'll be updating this post after the webcast with the code &amp;amp; answers to questions that come up.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5103585" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>LINQ to XML Code Posted!</title><link>http://blogs.msdn.com/benko/archive/2007/09/19/linq-to-xml-code-posted.aspx</link><pubDate>Wed, 19 Sep 2007 17:52:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4997659</guid><dc:creator>benko</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/benko/comments/4997659.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=4997659</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=4997659</wfw:comment><description>&lt;p&gt;I just posted the code from Monday's webcast on &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032349380&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;Linq to XML&lt;/a&gt;. Registered users can access the code from the download site on &lt;a href="http://www.Benkotips.com"&gt;http://www.Benkotips.com&lt;/a&gt;. In the webcast we covered a lot of topics including how to create XML fragments in both VB and C#, and also how to query. The key to querying is to work against the new collection of XML classes including XDocument and XElement. We created a customer list in XML from a SQL Server database and then saved the results to file. Then we loaded the file into an XElement and ran a LINQ query against it.
&lt;/p&gt;&lt;p&gt;So if that's what you're looking for, &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032349380&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;check out the webcast&lt;/a&gt;. For more info on the complete series check out &lt;a href="http://www.BenkoTIPS.com/fmc"&gt;http://www.BenkoTIPS.com/fmc&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4997659" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/Framework+Master+Class/default.aspx">Framework Master Class</category><category domain="http://blogs.msdn.com/benko/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Question from today’s webcast – What’s the difference between Partial Methods &amp;amp;amp; Virtual Methods?</title><link>http://blogs.msdn.com/benko/archive/2007/09/10/question-from-today-s-webcast-what-s-the-difference-between-partial-methods-virtual-methods.aspx</link><pubDate>Tue, 11 Sep 2007 00:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4856572</guid><dc:creator>benko</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/benko/comments/4856572.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=4856572</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=4856572</wfw:comment><description>&lt;P&gt;&lt;SPAN style="COLOR: #1f497d"&gt;In today's &lt;A href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032349364&amp;amp;CountryCode=US" mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032349364&amp;amp;CountryCode=US"&gt;&lt;/A&gt;&lt;/SPAN&gt;webcast on LINQ to SQL&lt;SPAN style="COLOR: #1f497d"&gt; we had a lot of questions. One had to do with understanding Partial Methods. The main difference between a virtual method (think OO) and partial methods (in 3.5) is that virtual methods can be implemented by various descendents differently based on what type of object you're working with. Think of an Animal object having an Eat method. This would be implemented differently for a Fish object than a Horse. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #1f497d"&gt;Unlike virtual methods you partial methods can be implemented only once. They are a sort of hook that you can choose to use and if not they are optimized away from the compiled code. This allows you to extend the functionality of a class with your own behavior. In LINQ to SQL the object mapping layer provides a collection of events that are implemented as partial methods. In this way we were able to run our custom logic when the company name changed. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #1f497d"&gt;Great question! &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #1f497d"&gt;Mike&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4856572" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/Framework+Master+Class/default.aspx">Framework Master Class</category><category domain="http://blogs.msdn.com/benko/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>LINQ to SQL Webcast Code</title><link>http://blogs.msdn.com/benko/archive/2007/09/10/linq-to-sql-webcast-code.aspx</link><pubDate>Mon, 10 Sep 2007 23:36:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4856284</guid><dc:creator>benko</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/benko/comments/4856284.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=4856284</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=4856284</wfw:comment><description>&lt;p&gt;I've posted the &lt;a href="http://www.benkotips.com/Default.aspx?tabid=628"&gt;code from today's webcast&lt;/a&gt; on LINQ to SQL 
&lt;/p&gt;&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4856284" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/Framework+Master+Class/default.aspx">Framework Master Class</category><category domain="http://blogs.msdn.com/benko/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Announcing the Framework MasterClass Webcast Series!</title><link>http://blogs.msdn.com/benko/archive/2007/09/08/announcing-the-framework-masterclass-webcast-series.aspx</link><pubDate>Sat, 08 Sep 2007 18:37:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4831140</guid><dc:creator>benko</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/benko/comments/4831140.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=4831140</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=4831140</wfw:comment><description>&lt;p style="margin-left: 14pt"&gt;&lt;span style="font-family:Arial; font-size:12pt"&gt;&lt;strong&gt;Class is in Back in Session!
&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;We have the first 8 webcasts in the &lt;a href="http://www.atg-it.com/Default.aspx?tabid=1318"&gt;Framework MasterClass&lt;/a&gt; series scheduled as of today, and here's a quick rundown on the topics we'll be covering in September &amp;amp; October. This series will take a deeper dive into technologies like LINQ, WCF, Workflow, etc. and help provide insight into how get the most from them. Stay tuned for new sessions that get added each month!
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;Our proposed schedule runs typically on Mondays…
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;em&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;&lt;strong&gt;9/4 – &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032349353&amp;amp;EventCategory=5&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;span style="color:#003366"&gt;LINQ Overview&lt;br/&gt;&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;Data access has evolved over time to make working with databases easier and more productive. In the Microsoft .NET Framework version 3.5, access to data is integrated natively into the languages. In this webcast, we look at what Microsoft .NET Language Integrated Query (LINQ) is, and we provide an overview of how it can help developers increase productivity.&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;em&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;&lt;strong&gt;9/10 – &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032349363&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;span style="color:#003366"&gt;LINQ to SQL&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;Microsoft .NET Language Integrated Query (LINQ) provides a common way to work with data in your applications. In this session, we dive into how LINQ provides methods to work with Structured Query Language (SQL) databases, including how to query, insert, and manage data using the LINQ framework. &lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;em&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;&lt;strong&gt;9/17 – &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032349380&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;span style="color:#003366"&gt;LINQ to XML&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;In other sessions, we have already seen how Microsoft .NET Language Integrated Query (LINQ) works with relational databases. In this webcast, we explore how LINQ can help you develop XML applications. We cover the basics of the XML helper functions, and we also dive into deeper topics. &lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;em&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;&lt;strong&gt;9/24 – &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032349384&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;span style="color:#003366"&gt;LINQ to Entities&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;We've&lt;/span&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt; explored how Microsoft .NET Language Integrated Query (LINQ) is used for Structured Query Language (SQL) databases and working with XML. In this webcast, we connect to the data access layer, the business objects that provide the functionality of working with enterprise data. Join us to learn how you can make your LINQ applications really sing when working with entities. &lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;em&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;&lt;strong&gt;10/1 – &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032352316&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;span style="color:#003366"&gt;Working with WCF&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;Windows Communication Foundation (WCF) brings tremendous power to developers and architects who are charged with creating distributed systems, but the many coding and configuration choices within WCF can be daunting. When faced with an almost infinitely configurable system, how can you be sure you are utilizing WCF effectively? Join this webcast to learn how you can solve the real-world technical problems that led you to WCF in the first place. In this session, we educate and inform both developers and architects about how to build and configure services in WCF using a variety of real-world scenarios as examples. After a brief review of the WCF code concepts, we explore techniques for building an effective messaging infrastructure, taking advantage of the many built-in WCF services, including security, transactions, reliability, and durability. &lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;em&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;&lt;strong&gt;10/15 – &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032352326&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;span style="color:#003366"&gt;WCF Management &amp;amp; Diagnostics&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;Windows Communication Foundation (WCF) includes a strong management foundation for providing insight into the health and operational status of applications. In this session, we illustrate how you can incorporate WCF rich tracing and logging, a broad set of performance counters and tracking information, into existing management environments to build better applications. We also discuss how to use Windows PowerShell on top of the management extensions in WCF.&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;em&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;&lt;strong&gt;10/22 – &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032352333&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;span style="color:#003366"&gt;WCF Custom Channels&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;Channel model is the layer of our architecture that is responsible for performing all of the point-to-point messaging in Windows Communication Foundation (WCF). Almost every interoperability problem and missing feature can be worked around by extending the messaging platform with a sufficiently powerful custom channel. In this session, we discuss the basics you need to get started with the channel model, and we show you how to write simple custom channels that solve problems. &lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin-left: 14pt"&gt;&lt;em&gt;&lt;span style="font-family:Arial; font-size:10pt"&gt;&lt;strong&gt;10/29 – &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032352335&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;span style="color:#003366"&gt;WCF Performance &amp;amp; Deployment&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;In this session, we dive into some best practices that can help you ensure the highest level of performance and availability with Windows Communication Foundation (WCF). We examine guidelines for load balancing your services across a Web farm, and we take a look at various properties that are designed to help prevent undue resource consumption. Finally, we share some examples of the various hosting options for WCF services, including Microsoft Internet Information Services (IIS) and Windows Process Activation Service (WAS). &lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4831140" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/BenkoTIPS/default.aspx">BenkoTIPS</category><category domain="http://blogs.msdn.com/benko/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/benko/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>LINQ Overview Code is Posted</title><link>http://blogs.msdn.com/benko/archive/2007/09/05/linq-overview-code-is-posted.aspx</link><pubDate>Wed, 05 Sep 2007 19:40:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4766102</guid><dc:creator>benko</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/benko/comments/4766102.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=4766102</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=4766102</wfw:comment><description>&lt;p&gt;I posted the source code from yesterday's webcast to &lt;a href="http://www.BenkoTIPS.com"&gt;www.BenkoTIPS.com&lt;/a&gt;. I'm also in the process of adding a Webcast Series page to the list of webcasts, but that isn't done just yet. I should have it ready by the end of the week though, so check back.
&lt;/p&gt;&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4766102" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Partially Speaking…</title><link>http://blogs.msdn.com/benko/archive/2007/08/30/partially-speaking.aspx</link><pubDate>Thu, 30 Aug 2007 02:20:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4635813</guid><dc:creator>benko</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/benko/comments/4635813.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=4635813</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=4635813</wfw:comment><description>&lt;p&gt;&lt;strong&gt;A good question on Partial Methods
&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Yesterday in Kansas City I got a question during the LINQ session about partial methods and how they're implemented. This is a new feature found in Orcas Beta 2, and as such, we had a good discussion. I said I'd follow up with a blog post on the topic, so here it is. What are partial methods and why do I care?
&lt;/p&gt;&lt;p&gt;Basically a partial method is a way to provide hooks to a class so that it can be extended by users of that class. In the LINQ scenario we are able to add additional processing to events that occur when data is changing in our model. By implementing code against one of the partial methods we can invoke our logic for example when the validation of a data type is called. In our example we threw an exception if the price was set to less than $1.
&lt;/p&gt;&lt;p&gt;Partial methods of a given signature can be implemented zero or one times. If the method is not implemented, the compiler optimizes away the call so that no performance hit is taken by the application. If it is, then calls to that method are run through the partial method. Basically the answer to the question of "what if there are multiple partial methods implementing the same signature" is that the compiler will flag an error during the build that the method has already been implemented.
&lt;/p&gt;&lt;p&gt;Hope this answers the question. For more detailed information check out the blog posts below:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;T&lt;a href="http://blogs.msdn.com/vbteam/archive/2007/03/27/partial-methods.aspx"&gt;he Visual  Basic Team Blog&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/wesdyer/archive/2007/05/23/in-case-you-haven-t-heard.aspx"&gt;Wes Dyer&lt;/a&gt;'s Blog 
&lt;/li&gt;&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2007/07/19/PartialMethodsCodeGeneration.aspx"&gt;David Hayden's blog&lt;/a&gt;
		&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4635813" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/MSDN+Events/default.aspx">MSDN Events</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>On the road with LINQ, WCF and Silverlight</title><link>http://blogs.msdn.com/benko/archive/2007/08/21/on-the-road-with-linq-wcf-and-silverlight.aspx</link><pubDate>Tue, 21 Aug 2007 17:37:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4494873</guid><dc:creator>benko</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/benko/comments/4494873.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=4494873</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=4494873</wfw:comment><description>&lt;p style="text-align: right"&gt;&lt;span style="font-family:Helvetica; font-size:10pt"&gt;&lt;em&gt;…With a boulder on my shoulder feelin' kinda older I tripped the merry-go-round&lt;br/&gt;With this very unpleasing sneezing and wheezing the calliope crashed to the ground… &lt;/em&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p style="text-align: right"&gt;&lt;em&gt;&lt;span style="font-family:Helvetica; font-size:10pt"&gt;-Bruce Springsteen&lt;/span&gt;
		&lt;/em&gt;
	&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:16pt"&gt;&lt;strong&gt;T&lt;/strong&gt;&lt;/span&gt;his quarter we're back on the road bringing some great technology &amp;amp; tools for building software that takes things to a whole new level. From the data integration capabilities of LINQ to working with the cross-browser presentation experience, you'll find we've got some fun stuff happening at MSDN Events. I will be on the road starting in Madison, then touring the upper Midwest to visit cities like St. Louis, Kansas City, Minneapolis, Des Moines, Green Bay and more to show what's possible with these new tools. 
&lt;/p&gt;&lt;p&gt;As part of these events I like to post links to resources on the topics we're talking about. The links for this quarter include: 
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;LINQ &lt;/strong&gt;
	&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Language_Integrated_Query"&gt;Wikipedia on LINQ&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/tags/LINQ/default.aspx"&gt;Scott Guthrie's blog on LINQ&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx"&gt;Configuring the LINQ Data Visualizer&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx"&gt;The Linq Project on MSDN&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/Showpost.aspx?postid=114680"&gt;Anders Hejlsberg on Channel 9&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=323545"&gt;Daniel Moth explains LINQ on Channel9&lt;/a&gt;
		&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;WCF &lt;/strong&gt;
	&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/05/Foundations/default.aspx"&gt;MSDN Magazine: WCF &amp;amp; Transactions&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms733832.aspx"&gt;Best Practices: Data Contract Versioning&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/08/Foundations"&gt;MSDN Magazine: Declarative WCF Security&lt;/a&gt;
		&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Silverlight &lt;/strong&gt;
	&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/silverlight"&gt;Silverlight home page&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/silverlight"&gt;MSDN Silverlight&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Microsoft_Silverlight"&gt;Wikipedia on Silverlight&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/06/19/building-silverlight-applications-using-net.aspx"&gt;Scott Guthrie on Silverlight&lt;/a&gt;
		&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.benkotips.com/Default.aspx?tabid=1320"&gt;My Puzzle Page&lt;/a&gt;
		&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4494873" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/MSDN+Events/default.aspx">MSDN Events</category><category domain="http://blogs.msdn.com/benko/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/benko/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Daniel Moth’s Linq on Channel 9</title><link>http://blogs.msdn.com/benko/archive/2007/07/17/daniel-moth-s-linq-on-channel-9.aspx</link><pubDate>Tue, 17 Jul 2007 21:46:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3921504</guid><dc:creator>benko</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/benko/comments/3921504.aspx</comments><wfw:commentRss>http://blogs.msdn.com/benko/commentrss.aspx?PostID=3921504</wfw:commentRss><wfw:comment>http://blogs.msdn.com/benko/rsscomments.aspx?PostID=3921504</wfw:comment><description>&lt;p&gt;We are working on putting together a session for &lt;a href="http://msdnevents.com/michael"&gt;MSDN Events on LINQ&lt;/a&gt; and how it changes the way that developers work with data in their applications. The basic question of what is LINQ is fairly straightforward, in that it is the name given to a collection of new language features that are part of .NET 3.5. While the next framework (3.5) does add a number of components for LINQ, it also utilizes a number of language features that were added in previous versions including 2.0 and 3.0. 
&lt;/p&gt;&lt;p&gt;Daniel Moth is a former MVP who has been blogging recently (&lt;a href="http://www.danielmoth.com"&gt;http://www.danielmoth.com&lt;/a&gt;) on LINQ and even posted a video on &lt;a href="http://channel9.msdn.com"&gt;Channel9&lt;/a&gt; which does a great job of describing how LINQ evolves from existing language features. I summarize some of the points on how he does it with some screen shots, etc., but to get the most from it, click on the &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=323545"&gt;link&lt;/a&gt; &amp;amp; watch it for yourself. 
&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#404040; font-family:Verdana; font-size:10pt"&gt;The synopsis &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=323545"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths1.png" alt="" border="0"/&gt;&lt;/a&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Before LINQ &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths2.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;With LINQ &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths3.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;How do we get there? &lt;/span&gt;
	&lt;/h4&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Add Helper.cs &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths4.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;MyEnumerator.cs &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths5.png" alt=""/&gt;
	&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths6.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;And then using these we rewrite in C# 2.0 &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths7.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-size:10pt"&gt;&lt;span style="font-family:Verdana"&gt;Omit types that can be inferred by compiler &lt;/span&gt;&lt;span style="font-family:Wingdings"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana"&gt; &amp;lt;Person&amp;gt;, &amp;lt;Person, TempType&amp;gt; &lt;/span&gt;&lt;/span&gt;
	&lt;/h4&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-size:10pt"&gt;&lt;span style="font-family:Verdana"&gt;Use inline anonymous methods to replace delegates &lt;/span&gt;&lt;span style="font-family:Wingdings"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana"&gt; MyPredicate &amp;amp; MySelector with code from helper.cs &lt;/span&gt;&lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths8.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Now use .Net 3.0 features &lt;/span&gt;
	&lt;/h4&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Change delegates to Lambda expressions by removing delegate and adding =&amp;gt; after type &lt;/span&gt;
	&lt;/h4&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Drop type because compiler can infer type for p &lt;/span&gt;
	&lt;/h4&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Get rid of "return" keyword &amp;amp; extra curly braces &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths9.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Next using object initializers we can create a new type &amp;amp; further simplify the syntax of results2… &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths10.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Finally we use anonymous type because TempType is not used elsewhere &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths11.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;To have compiler infer type use the keyword var in place of TempType &lt;/span&gt;
	&lt;/h4&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Finally we look at extension methods to provide visibility to Select &amp;amp; Where functions declared in MyEnumerator.cs &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths12.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;And last we take care of results2? Do some formatting and we have &lt;/span&gt;
	&lt;/h4&gt;&lt;p style="margin-left: 36pt"&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths13.png" alt=""/&gt;
	&lt;/p&gt;&lt;h4&gt;&lt;span style="color:#7f7f7f; font-family:Verdana; font-size:10pt"&gt;Which brings us back to &lt;/span&gt;
	&lt;/h4&gt;&lt;p&gt;&lt;img src="http://www.benkotips.com/blogs/mbenko/071707_1845_DanielMoths14.png" alt=""/&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3921504" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/benko/archive/tags/LINQ/default.aspx">LINQ</category></item></channel></rss>