I was reading a post on the ADO.NET Team blog about "Update on LINQ to SQL and LINQ to Entities Roadmap" and an interesting piece of this little post says:
We’re making significant investments in the Entity Framework such that as of .NET 4.0 the Entity Framework will be our recommended data access solution for LINQ to relational scenarios. We are listening to customers regarding LINQ to SQL and will continue to evolve the product based on feedback we receive from the community as well.
Despite the ADO.NET Team says that LINQ to SQL will be enhanced again in the future, there are lots of rumours that thinks that this technology will be dead in the near future in favour of LINQ to Entities.
I can agree that LINQ to Entities extends and enhanced the LINQ to SQL technology, but I think that the target of these new data access technologies are different.
I think that LINQ to SQL has an important key feature: it permits you to have a rapid development scenario agains a Microsoft SQL Server database.
It allows you to have a strongly-typed view of your database schema and it permits you to have an automatic 1:1 mapping of your existing database schema to .NET classes. You can work with your SQL Server Database by using it as objects.
The Entity Framework has a different main target I think. Its favourite scenario of adoption is the Enterprise world, where you can have different database technologies (not only Microsoft related) and where the database schema is designed for performance optimization and normally is not suitable to be mapped as 1:1 .NET classes (the schema can also be modified during the years).
The Entity Framework permits you to map a single .NET class to multiple database tables (or views) and (viceversa) map multiple .NET classes to the same table.
I can agree that many of you could think that all the features covered by LINQ to SQL are included in the Entity Framework, but don't forget the target. LINQ to SQL is a great technology for working with SQL Server databases and for small and medium sized businesses it's really a great choice.
I hope long life to LINQ to SQL and nice to see that also the ADO.NET Team thinks to enhance it...
Technorati Tag: .NET