LINQ and ADO.NET innovations


Language-Integrated Query (LINQ) is a breakthrough technology that eliminates the impedance mismatch among different data domains.  With LINQ, developers do not need to learn separate query syntaxes when querying over diverse data domains such as XML, Relational and Objects.  LINQ has been very well received both last year at its announcement at the PDC, and more recently at Tech-Ed in Boston.  Orcas, the next version of Visual Studio, includes LINQ infrastructure that enables this powerful combination of languages and API’s, as well as concrete support in multiple programming languages and data domains.


 


At the same time, our ADO team has been building a new data mapping substrate called ADO.NET Entities.  Entities move the data model up from the physical structure of relational tables to a data model that more accurately represents business entities such as “Customer” or “Order” that could map to multiple relational tables and views.  You can think about entities as a declarative way to specify the structure of a business object which you can then add business logic to and, through the power of LINQ, be able to query over them as well.  Entities will allow us to provide a common data model within the familiar ADO.NET environment that can be used across high-level functions such as reporting, replication, and BI.  For major enterprise applications, Entities allow developers to define complex mapping to relational data, enabling the creation of new business structures when the underlying database schema cannot be changed.


 


These two major advances in programmatically accessing data will help developers on our platform be even more productive.   Check out the channel 9 session that Anders Hejlsberg and Sam Druker did recently on this.


 


So that you can better identify these technologies, we have simplified our naming scheme as follows:


 


LINQ to ADO.NET, which includes:


            LINQ to DataSet


            LINQ to Entities


            LINQ to SQL (formerly DLinq)


 


LINQ support for other data types include:


            LINQ to XML (formerly XLinq)


            LINQ to Objects


 


Our teams are busy working on the next version of Visual Studio and incorporating these technologies in a consolidated way to ensure the very best experience for our developers.  We have the May CTP for LINQ available here and keep an eye out for a preview of the Entities work before the end of this year.


 


Namaste!

Comments (31)

  1. Mike says:

    So it took two years to make UDM finally irrelevant in the future. How many new and incompatible data access stacks do you guys produce every month?

  2. Pazu says:

    It was always irrelevant – Google:

    UDM – 3M records, on first page nothing about software, first "Ultimate Dance Music"; LINQ – 4M records, only about software

  3. Soma just announced some additional re-branding of some of the LINQ stack. In addition to LINQ to SQL…

  4. Data says:

    Welcome to the Microsoft Data blog. I’m Samuel Druker and I lead a group that’s responsible for building…

  5. Soma announced that the naming scheme for the Linq technologies has been simplified:LINQ to ADO.NET includes:     …

  6. Soma announced that the naming scheme for the Linq technologies has been simplified:LINQ to ADO.NET includes:     …

  7. Alex James says:

    FYI: They are aiming for a preview of ADO.NET Entities in August:

    http://www.base4.net/Blog.aspx?ID=44

  8. Hi – I’m Shyam Pather, Development Lead on ADO.NET vNext team.

    I’m incredibly excited to share…

  9. In case you missed it, Somasegar (Microsoft’s VP of Developer Division) blogged today about some of the…

  10. Just some stuff I’ve noticed floating about and I think is worthy of note:

    Pablo Castro points to…

  11. davidacoder says:

    "…move the data model up from the physical structure of relational tables to a…"

    I know what you mean, but the data team uses the term "physical structure" in a different way in their whitepaper. They use "logical structure" for tables, views, keys etc and "physical structure" for disc partitions and the actual structure of the bits on the disc (i.e. something devs normally never see). Might be good to be consistent in the terms and replace "physical structure" in your text with "logical" 🙂

  12. cs says:

    I’m interested about the performance of ADO.NET entities. Will it be clever enough to optimise its SQL (table joins, indexes etc.), not bring back every row (but not ask for each row at a time) and so forth?

    For the most simple 3 tier applications, with very basic < 10 table databases these type of middleware/business layers work very well. For complex databases they are generally slow and bulky and not worth using in my experience.

  13. [Update 2006-06-22: Microsoft’s Pablo Castro from the ADO.NET team posted a comment on my blog in which…

  14. Keith Elder says:

    It is great if you guys are moving towards business entities.  The BIG thing you can’t screw up with this is business rules.  Providing a business entity without being able to add in business rules easily is going to be worthless and I haven’t seen any mention if this is going to be done.  

    If you haven’t done it yet, then just download nettiers and build it with Codesmith and copy the validation code it generates.  The generted validation code is based on delegates which allow you to wire up any business entity with specific validation rules.

    Business entities are great, but the reason we want them is to validate them against our rules, that’s the biggest concern in the enterprise.  Please don’t miss out on this fact and be sure it is accounted for.

  15. If you write database applications using ADO.NET (which means almost everyone is still reading this),…

  16. If you write database applications using ADO.NET (which means almost everyone is still reading this),…

  17. Since announcing our ADO.NET vNext plans at TechEd last week, the team has been on the lookout for your…

  18. Olivier Le Pichon says:

    It sounds like the next revival of ObjectSpaces but with a different name.

    Renaming is a MS favorite sports this days 🙂

  19. So why just have LINQ for VB.net and C# and not for J# too?

  20. Hi – I’m Shyam Pather, Development Lead&amp;nbsp;on the ADO.NET vNext team.

    I’m incredibly excited to share…

  21. (this post&amp;nbsp;was originally posted here)

    Since announcing our ADO.NET vNext plans at TechEd

  22. Andy says:

    If you write database applications using ADO.

  23. The ADO.NET vNext Community Technology Preview (‘CTP’) went live today…Hopefully I can convince Tommy…

  24. Announcing the LINQ to XSD Preview Ever since PDC 2005, when XLinq was unleashed ( now called LINQ to

  25. LINQ (Language Integrated Query) 是 Microsoft .NET Framework 未來本版的延伸功能,目的在 C# 與 Visual Basic 程式語言原生語法

  26. sunrack says:

    好爽,晚上抽空看了Mtaulty有关LinqtoSQL的N集连播,大呼过瘾,看完才有不少感概,国外DPE的这些Evangelist真是在传教解惑,如果换成中文的,哪估计能普及更多中国的.NET爱好…

Skip to main content