Skip to main content

LINQ: Overview of LINQ and it's advantages and disadvantages

Overview of LINQ:
LINQ stands for Language Integrated Query, which is descriptive for where it's used and what it does. LINQ is used for querying data. Here I used the generic term "data" and didn't specified type of data. That's because LINQ can be used to query many different types of data, including SQL, XML, and even objects.
It is a Microsoft programming model and methodology that gives formal query capabilities into Microsoft .NET-based programming languages (mainly in C# and VB.Net).

LINQ Syntax: LINQ queries can be written through standard query expression or through Lambda expressions.

Query expression syntax:

var items = from item in Items where item.Price > 10 select item;

Lambda expression syntax:

var items = Items.Where(c => c.Price > 10).Select(c => c);

Type of LINQ: Various type of LINQ available is:
·         LINQ to SQL
·         LINQ to Entities.
·         LINQ to Objects
·         LINQ to XML
·         LINQ to DataSet

Advantages and Disadvantages: Mentioned below are advantages and disadvantages of LINQ:

Advantages:
·         We can debug LINQ queries with visual studio's debugger, but it is tough to debug the queries written in SQL server.
·         Queries written with LINQ are cleaner and typesafe as the queries errors are type checked at compile time.
·         LINQ can be used against different data types and it isn't limited only to relational databases, you can also use it against XML or regular objects.
·         With LINQ one can able to query not just tables of a database but also able to query on XML and text files.
·         Classes and properties are automatically created in LINQ and you can work with these classes then instead of querying data directly to database.
·         Relationships in LINQ are automatically appeared to classes, if there are proper foreign keys.
·         Lambda expressions are nice and easy to use.
·         Deployment is easier with LINQ, as in case of deployment, we need to provide an additional script for DB to execute but in case of LINQ, it will complied into single DLL.
·         LINQ offers a compact, expressive, and intelligible syntax for manipulating data.

Disadvantages
·         Performance is degraded if LINQ queries not written in correct manner.
·         If there has been a change in LINQ query, then assembly needs to be recompiled and redeployed.
·         LINQ is generic, whereas queries written in database can take full advantage of the complete database features.
·         It’s much easier to restrict access to tables in database using queries than through LINQ.
·         LINQ statements are not precompiled where as SQL stored procedures are precompiled, so stored procedures are faster in performance as compared to traditional LINQ.
·         LINQ needs to process the complete query, which might have a performance impact in case of complex queries against stored procedures which only need serialize procedure name and argument data over the network.
·         Sometimes it is hard to understand advance LINQ queries statements.

Comments

Post a Comment

Popular posts from this blog

C#: Merging Excel cells with NPOI HSSFWorkbook

In this post we’ll see how to merge the two or more cell with each other while creating the excel sheet using NPOI . Mentioned below is code to merge multiple cells, in this example we are merging first cell to fifth cell of first row (you can adjust row or cell range by passing particular parameters in CellRangeAddress). //Created new Workbook var hwb = new NPOI.HSSF.UserModel. HSSFWorkbook (); //Create worksheet with name. var sheet = hwb.CreateSheet( "new sheet" ); //Create row and cell. var row = sheet.CreateRow(0); var cell = row.CreateCell(0); ; //Set text inside cell cell.SetCellValue( "This is Merged cell" ); cell.CellStyle.WrapText = true ; //define cell range address // parameters: -> first row to last and first cell to last cell var cra = new NPOI.SS.Util. CellRangeAddress (0, 0, 0, 4); //Add merged region to sheet. sheet.AddMergedRegion(cra); Hope this solution helps you J

Difference between Web API, WCF and Web Service

So now we have got the basic idea about Web API , now let’s do some comparison of Web API with WCF and web services. Web Service WCF Web API Web services are created as files with .asmx extension. WCF create with .svc extension Web API are simple class file with .cs(for C#) extension. Web API is inherited from “ApiController” and the class name must end with “Controller”. It is SOAP based service and returns data in XML form. It is also based on SOAP and returns data in XML form. Web API is HTTP based service and by default, it returns data in JSON or XML form. It supports only HTTP protocol. It supports various protocols like TCP, HTTP, HTTPS, Named Pipes, and MSMQ. It supports HTTP protocol. It can be hosted only on IIS. It can be hosted within the application or on IIS or using window service. It can be hosted within the application or on IIS. It is no...