1.Difference between LINQ to SQL and ADO.NET
S.No LINQ to SQL ADO.NET 1 Used for data handling with SQL Server databases only. Used for data handling with any database: SQL Server/Access/Oracle/Excel etc. 2 Uses the extension methods of System.Linq.Queryable class. Does not use the extension methods of System.Linq.Queryable class. 3 Introduced in .net Framework 3.0 It is there since the .net Framework 1.0 4 DataContext is used for Database connectivity. SqlConnection/OleDbConnection are used for database connectivity 5 Syntax and coding is somewhat complex. Easier syntax and coding.
S.No LINQ nHibernate 1 LINQ is not an open-source nHibernate is an open source. 2 LINQ is an incomplete ORM tool as it needs additional extensions. nHibernate is an ORM tool 3 LINQ is primarily a querying language nHibernate has a limited querying language. 4 LINQ is much more useful in small applications where there is no massive dependence on databases. nHibernate is much more useful in largel applications where there is massive dependence on databases. 5 With LINQ, database already exists and the relationships and some programming will be dependent on how the database is defined. With nHibernate, database does not already exist and it needs to be defined .
S.No LINQ Entity Framework 1 Used for Rapid Application Development Used for Enterprise Development 2 Works with objects in database Works with Conceptual model of database 3 Mainly woks with SQL Server Works with all data sources 4 ".dbml" is created while using LINQ to SQL ".EDMX" is created while using Entity Framework