May LINQ CTP available now!

A key part of what we do in Developer Division is to deliver tools and resources that help developers be highly productive.  In that context, I am very excited to have the next LINQ (.NET Language Integrated Query) CTP available for you to download.


You may remember that at the last PDC in Los Angeles, we announced the .NET Language-Integrated Query (LINQ) project to take .NET developers to the next level of productivity. At that time, we talked about the challenges of building data-intensive applications.  Today’s developers need both language flexibility and data source flexibility – they need languages that allow them to work with multiple data sources in sophisticated applications.  Instead of adding a few APIs to incrementally improve programming with data here and there, we decided to change the game.  Our goal with LINQ is to give developers the ability to transform and aggregate data from different domains while still working in familiar programming languages.  Today’s CTP is a step towards making it easier to write data-intensive applications across a wide variety of data types.


Your feedback and excitement about LINQ helped drive the next stage of innovation on the LINQ project.  This preview combines features that we had planned, features that you requested after trying out the PDC preview and some new ideas beyond the former two.  All together, this preview sets the tone for the innovations in the next release of Visual Studio and the .NET Framework codenamed “Orcas”.  It builds on key technologies in Visual Studio 2005 and .NET Framework 2.0 like generics and light-weight code generation that you can use today in our products.


The preview has a lot of interesting features for both VB and C# developers.  In addition to navigating relationships between objects, you can now also do joins.  Even in joins, we have gone beyond giving you flat results that you get in Structured Query Language (SQL).  You can get hierarchical results like you would expect in the world of objects.  More interestingly, there is new way for you to build your own pluggable query processor – through IQueryable<T>.  The mechanism we used to build DLinq is now streamlined and available for you to build interesting new components that can be programmed using the LINQ pattern.  Now what you can do is bounded only by your creativity.


We are glad that you tried our last preview and gave us frank feedback about things you loved and things you missed. That is exactly how our partnership should work.  This CTP does contain inheritance support in DLinq, enhanced support for stored procedures, support for mapping files, a new designer to build mapped classes and LINQ over DataSet. 


There are samples and documents and lots of goodies like visualizers and better VB IDE support for you to try out the preview more easily. So go ahead and take it for a spin and tell us what you think. We are excited to continue the two-way dialog and feedback as you try out all the new features that include productivity enhancements, support for a broader range of development scenarios and the ability to integrate LINQ with existing code.



Comments (19)

  1. We’ve been pretty quiet about the XLinq project and the XML features in Visual Basic 9 for awhile as…

  2. Eric says:

    Look forward to trying it out

  3. Good question – in the kitchen of course!

    The dish is&amp;nbsp;now ready on the LINQ home page&amp;nbsp;and…

  4. Chyld says:

    Awesome!  I’m downloading now…


  5. Thomas says:

    When starting the installer, I get the message: "Cannot find a valid Product to install LINQ with" and then tells me that I need a version of Visual Studio 2005 installed in the next dialog.

    I do have Visual Studio 2005 Professional (German) installed and I never had such problems with other previews that involved VS 2005 (e.g. Orcas).

    I believe that the problem is related to the german language version of VS 2005 since there was also a language problem in the last preview (you had to copy some files after installation).

    Does anyone have a workarround for this?


  6. Finally next Linq CTP is available. As usual it can be downloaded from Linq Home Page&amp;nbsp;(here is Soma’s…

  7. Yesterday Microsoft launched a mini-wave of data access related technology in a new way. Normally these…

  8. Hello Thomas,

    Thanks for trying out the preview. There is a similar question on the forum (not sure if you posted it or someone else) –

    Unfortunately as mentioned in the readme, we did not have time to test this on non-English locales. There is a workaround as posted on the forum entry above. Depending on how adventurous one wants to be, one could try that. But in general, supporting other locales is one of the goals of productization of the preview; i.e. in the future.

    Thanks again for trying out LINQ.


  9. jake says:

    What ever happened to Object Spaces?

    Is LINQ intended to be used instead of an object/relational mapping framework like ObjectSpaces or nHibernate? Or could it be used *with* one of these frameworks?

  10. Sami says:

    Hello Soma,

    This article was posted on Data Access blog recently :

    == On Future Versions of ADO.NET ==

    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”?).

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

    Also check out Channel 9, we’ve recorded a few videos that discuss the next version of ADO.NET from various angles. The first one of the series has been posted there already; it features Mike, Tim and myself talking about what we’ve been working on for the next version of ADO.NET, including some high-level descriptions, details on the various services that are being introduced and some live demos.

    Sam, the product unit manager for the data programmability team in Microsoft, has posted a blog entry that introduces the vision and the first round of concrete innovations around it.

    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

    == ADO.NET mapping screencast ==


    Now that we are talking about the upcoming ADO.NET Entity Framework, I thought it would be interesting to do a screencast on our mapping infrastructure. If you have seen our vision on data programmability you will see that one of our investments is in using view maintenance technology to replace the common case-by-case mapping scenarios that ORM solutions typically employ.

    Feel free to take a look at the screencast to see examples of us modeling and mapping simple inheritance, complex types and entity splitting. In future screencasts I will go into more detail about our metadata infrastructure, modeling and more on mapping.

    We look forward to hearing your feedback!

    Tim M

    Program Manager,

    Data Programmability


    Could you tell us why have you (MS) removed all publications about ADO.NET V3 ?



  11. Chris says:

    As far as I can see, there is no working workaround for the problem that Thomas indicated yet (installing the preview for the German language version of VC# Express). I urgently need LINQ for a university presentation. (Otherwise I have to torture my fellow students with Haskell 😉

    Does anybody know whether installing the English VC# Express will help, or whether this is a problem regarding the German version of Windows?



  12. Jake asks

    >What ever happened to Object Spaces?

    ObjectSpaces is no longer a component of any Microsoft product. Several members of the team that worked on ObjectSpaces are currently on the LINQ project and working on various LINQ project components including DLinq.

    >Is LINQ intended to be used instead of an

    >object/relational mapping framework like ObjectSpaces

    >or nHibernate? Or could it be used *with* one of these


    DLinq is the ORM component of the LINQ project. In principle, you could implement another ORM with LINQ if you want to. But my personal take is – why bother when we are building DLinq for you. I doubt you can use LINQ with ObjectSpaces since ObjectSpaces is not continuing 😉



  13. Chris,

    We did not really have the resources/time to test the preview on non-English locales. That is one of the tasks we do for productizing previews.  So I am reluctant to suggest untested workarounds.

    You may want to use the LINQ forum for more information and experience of LINQ users on non-English locales.



  14. “The LINQ Project is a codename for a set of extensions to the .NET Framework that encompass language-integrated…

  15. forced sex says:

    Wellcome to the real world.

  16. Recon_609 says:

    if "ObjectSpaces is no longer a component of any Microsoft product"

    Can it be released to the public for those that want to use it in the intern?

    I want something to work with now, not when Orcas is out  🙂