1) Explain what is LINQ? Why is it required?
Language Integrated Query or LINQ is the collection of standard query operators which provides query facilities into.NET framework language like C#, VB.NET.
LINQ is required as it bridges the gap between the world of data and world of objects.
2) What are the types of LINQ?
- LINQ to Objects
- LINQ to XML
- LINQ to Dataset
- LINQ to SQL
- LINQ to Entities
3) Explain how LINQ is useful than Stored Procedures?
- Debugging: It is difficult to debug a stored procedure but as LINQ is part of.NET, visual studios debugger can be used to debug the queries
- Deployment: For stored procedure, additional script should be provided but with LINQ everything gets compiled into single DLL hence deployment becomes easy
- Type Safety: LINQ is type safe, so queries errors are type checked at compile time
4) List out the three main components of LINQ? Explain what is the extension of the file, when LINQ to SQL is used?
Three main components of LINQ are
- Standard Query Operators
- Language Extensions
- LINQ Providers
The extension of the file used is .dbml
5) Define what is Where clause and Let clause?
- Where clause: It allows adding some conditional filters to the query.
- Let clause: It allows defining a variable and assigning it a value calculated from the data values.
6) Explain why SELECT clause comes after FROM clause in LINQ?
With other programming language and C#, LINQ is used, it requires all the variables to be declared first. “FROM” clause of LINQ query defines the range or conditions to select records. So, FROM clause must appear before SELECT in LINQ.
7) Explain what is the use of System.XML.Xlinq.dll?
System.Data.Dlinq.dll provides the functionality to work with LINQ to SQL
8) Explain what is lambda expressions in LINQ?
Lambda expression is referred as a unique function use to form delegates or expression tree types, where right side is the output and left side is the input to the method. For writing LINQ queries particularly, Lambda expression is used.
9) Explain how LINQ with databases can be used?
LINQ supports XML, SQL, Dataset and Objects. Through LINQ to objects or LINQ to Datasets one can use LINQ with other databases. The objects and datasets take care of database particular operations, and LINQ only needs to deal with those objects and not the database operations directly.
10) Explain what is the difference between Skip() and SkipWhile() extension method?
- Skip() : It will take an integer argument and from the given IEnumerable it skips the top n numbers
- SkipWhile (): It will continue to skip the elements as far as the input condition is true. It will return all remaining elements if the condition is false
11) In LINQ how will you find the index of the element using where () with Lambda Expressions?
In order to find the index of the element using where () with the lambda expression
Where ( ( i, ix ) => i == ix);
12) Explain how you can assign a lambda expression to a delegate?
To assign a lambda expression to a delegate
Delegate int del (int i);
Intj = myDelegate (4); //j=16
13) Explain what is the difference between Statement Lambda and Expression Lambda?
- Expression Lambdas are extensively used in the construction of Expression Trees
- To create expression trees statement lambdas cannot be used
14) Mention what is the role of DataContext classes in LINQ?
DataContext class acts as a bridge between SQL Server database and the LINQ to SQL. For accessing the database and also for changing the data in the database, it contains connections string and the functions.
15) Explain what are LINQ query expressions?
Query expression is nothing but an LINQ query. It is a combination of query clauses that identifies the data sources for a query. It contains information for sorting, filtering, grouping or joining to apply to the source data. It determines what information should be retrieved from the data source.CV.
16) Explain what are compiled queries?
In compiled LINQ queries, the plan is cached in a static class and static class is a global cache. Rather than preparing the query plan from scratch, LINQ prepares plan using stating class object.
17) Explain how standard query operators useful in LINQ?
Standard Query Operators useful in LINQ are
- Get a total count of elements in the collection
- Order the results of a collection
- Computing average
- Joining two collections based on matching keys
- Filter the results
18) Explain what is the purpose of LINQ providers in LINQ?
LINQ providers are set of classes that take an LINQ query which generates method that executes an equivalent query against a particular data source.
19) Explain how you can retrieve a single row with LINQ?
To retrieve a single row with LINQ we need
Public User GetUser (string userName)
DBNameDataContext myDB = new DBNameDataContext ( ) ;
User user = myDB. Users. Single ( u, u.UserName => userName );
20) LINQ query is executed in which statement?
In VB, an LINQ query is executed in the For Each Statement, and in the foreach statement for C#.
21) Explain what is “LINQ to Objects”?
When LINQ queries any IEnumerable(Of T) collection or IEnumerable directly without the use of an intermediate LINQ provider or API such as LINQ to SQL or LINQ to XML is referred as “LINQ to Objects.”
22) Explain how you can differentiate between Conversion Operator “ToDictionary” and “IEnumerable” of LINQ?
To solve the conversion type problems “IEnumerable” and “ToDictionary” conversion operator are used.
“ToDictionary” conversion operator is the instance of Dictionary (k, T). The “keySelector” predicate recognizes the key of each item, while “elementSelector”, is used to extract each single item, if it is given.
Extension method on “IEnumerable” is.AsEnumerable. AsEnumerable simply returns the source sequence as an object of type IEnumerable <T>.