In this articel i will explain what is LINQ? what are the advantages and disadvantages with examples
What Is LINQ
Language-Integrated Query (LINQ) is a set of features
introduced in Visual Studio 2008 that extends powerful query capabilities to
the language syntax of C# and Visual Basic. LINQ introduces standard,
easily-learned patterns for querying and updating data, and the technology can
be extended to support potentially any kind of data store. Visual Studio
includes LINQ provider assemblies that enable the use of LINQ with .NET
Framework collections, SQL Server databases, ADO.NET Datasets, and XML
documents.
Advantages of LINQ
Debugging
As debug point concern, as LINQ is a part of .NET, we can use
the visual studio’s debugger to debug the queries but is tough to debug the
stored procedure as it will not support the visual studio debugger.
Deployment
In case of deployment, we need to provide an additional
script for stored procedures to execute but in case of LINQ, it will compile
into single DLL hence deployment becomes easier.
Type Safety
As LINQ is type safe, the queries errors are type checked at
compile time. Better suggest using LINQ because it helps to encounter an error
at the compile time rather than at runtime exception.
Disadvantages of LINQ
It is not precompiled statement whereas stored procedures are
precompiled. In case of LINQ the queries need to be complied before the
execution.
Now we will see how we will join two tables using LINQ
First declare a variable
var JoinTable;
We will declare an object to the database model.
DataBaseModel objDataBaseModel=new DataBaseModel ();
Now we will select the desired table from the database
object.
from c in objDataBaseModel.tblTable1
Now create another object, for example emp
The join operation is performed on the tables which have at
least one similar column.
In LINQ we will use equals in place of join.
Now the entire join statement is
var JoinTable=(from c in objDataBaseModel.tblTable1 join emp
in objDataBaseModel.tblTable2 on c.tblTable1ID equals emp.tblTable2ID select
c).FirstOrDefault();
No comments:
Post a Comment