SlideShare a Scribd company logo
5
Most read
6
Most read
15
Most read
LINQ
The acronym LINQ stands for Language Integrated Query. Microsoft’s query
language is fully integrated and offers easy data access from in-memory
objects, databases, XML documents, and many more. It is through a set of
extensions, LINQ ably integrates queries in C# and Visual Basic. This
tutorial offers a complete insight into LINQ with ample examples and
coding. The entire tutorial is divided into various topics with subtopics that a
beginner can be able to move gradually to more complex topics of LINQ.
Developers across the world have always encountered problems in querying
data because of the lack of a defined path and need to master a multiple of
technologies like SQL, Web Services, XQuery, etc.
Introduced in Visual Studio 2008 and designed by Anders Hejlsberg, LINQ
(Language Integrated Query) allows writing queries even without the
knowledge of query languages like SQL, XML etc. LINQ queries can be
written for diverse data types.
Example of a LINQ query
C#
using System;
using System.Linq;
class Program {
static void Main() {
string[] words = {"hello", "wonderful", "LINQ", "beautiful", "world"};
//Get only short words
var shortWords = from word in words where word.Length <= 5 select word;
//Print each word out
foreach (var word in shortWords) {
Console.WriteLine(word);
}
Console.ReadLine();
}
}
VB
Module Module1
Sub Main()
Dim words As String() = {"hello", "wonderful", "LINQ", "beautiful",
"world"}
' Get only short words
Dim shortWords = From word In words _ Where word.Length <= 5 _ Select word
' Print each word out.
For Each word In shortWords
Console.WriteLine(word)
Next
Console.ReadLine()
End Sub
End Module
When the above code of C# or VB is compiled and executed, it produces the
following result −
hello
LINQ
world
Syntax of LINQ
There are two syntaxes of LINQ. These are the following ones.
Lamda (Method) Syntax
var longWords = words.Where( w ⇒ w.length > 10);
Dim longWords = words.Where(Function(w) w.length > 10)
Query (Comprehension) Syntax
var longwords = from w in words where w.length > 10;
Dim longwords = from w in words where w.length > 10
Types of LINQ
The types of LINQ are mentioned below in brief.
 LINQ to Objects
 LINQ to XML(XLINQ)
 LINQ to DataSet
 LINQ to SQL (DLINQ)
 LINQ to Entities
Apart from the above, there is also a LINQ type named PLINQ which is
Microsoft’s parallel LINQ.
LINQ Architecture in .NET
LINQ has a 3-layered architecture in which the uppermost layer consists of
the language extensions and the bottom layer consists of data sources that
are typically objects implementing IEnumerable <T> or IQueryable <T>
generic interfaces. The architecture is shown below.
Query Expressions
Query expression is nothing but a LINQ query, expressed in a form similar
to that of SQL with query operators like Select, Where and OrderBy. Query
expressions usually start with the keyword "From".
To access standard LINQ query operators, the namespace System.Query
should be imported by default. These expressions are written within a
declarative query syntax which was C# 3.0.
Below is an example to show a complete query operation which consists of
data source creation, query expression definition and query execution.
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Operators {
class LINQQueryExpressions {
static void Main() {
// Specify the data source.
int[] scores = new int[] { 97, 92, 81, 60 };
// Define the query expression.
IEnumerable<int> scoreQuery = from score in scores where score > 80
select score;
// Execute the query.
foreach (int i in scoreQuery) {
Console.Write(i + " ");
}
Console.ReadLine();
}
}
}
When the above code is compiled and executed, it produces the following
result −
97 92 81
Extension Methods
Introduced with .NET 3.5, Extension methods are declared in static classes
only and allow inclusion of custom methods to objects to perform some
precise query operations to extend a class without being an actual member
of that class. These can be overloaded also.
In a nutshell, extension methods are used to translate query expressions
into traditional method calls (object-oriented).
Difference between LINQ and Stored Procedure
There is an array of differences existing between LINQ and Stored
procedures. These differences are mentioned below.
 Stored procedures are much faster than a LINQ query as they follow an
expected execution plan.
 It is easy to avoid run-time errors while executing a LINQ query than in
comparison to a stored procedure as the former has Visual Studio’s
Intellisense support as well as full-type checking during compile-time.
 LINQ allows debugging by making use of .NET debugger which is not in case
of stored procedures.
 LINQ offers support for multiple databases in contrast to stored procedures,
where it is essential to re-write the code for diverse types of databases.
 Deployment of LINQ based solution is easy and simple in comparison to
deployment of a set of stored procedures.
Need For LINQ
Prior to LINQ, it was essential to learn C#, SQL, and various APIs that bind
together the both to form a complete application. Since, these data sources
and programming languages face an impedance mismatch; a need of short
coding is felt.
Below is an example of how many diverse techniques were used by the
developers while querying a data before the advent of LINQ.
SqlConnection sqlConnection = new SqlConnection(connectString);
SqlConnection.Open();
System.Data.SqlClient.SqlCommand sqlCommand = new SqlCommand();
sqlCommand.Connection = sqlConnection;
sqlCommand.CommandText = "Select * from Customer";
return sqlCommand.ExecuteReader (CommandBehavior.CloseConnection)
Interestingly, out of the featured code lines, query gets defined only by the
last two. Using LINQ, the same data query can be written in a readable
color-coded form like the following one mentioned below that too in a very
less time.
Northwind db = new Northwind(@"C:DataNorthwnd.mdf");
var query = from c in db.Customers select c;
Advantages of LINQ
LINQ offers a host of advantages and among them the foremost is its
powerful expressiveness which enables developers to express declaratively.
Some of the other advantages of LINQ are given below.
 LINQ offers syntax highlighting that proves helpful to find out mistakes
during design time.
 LINQ offers IntelliSense which means writing more accurate queries easily.
 Writing codes is quite faster in LINQ and thus development time also gets
reduced significantly.
 LINQ makes easy debugging due to its integration in the C# language.
 Viewing relationship between two tables is easy with LINQ due to its
hierarchical feature and this enables composing queries joining multiple
tables in less time.
 LINQ allows usage of a single LINQ syntax while querying many diverse data
sources and this is mainly because of its unitive foundation.
 LINQ is extensible that means it is possible to use knowledge of LINQ to
querying new data source types.
 LINQ offers the facility of joining several data sources in a single query as
well as breaking complex problems into a set of short queries easy to
debug.
 LINQ offers easy transformation for conversion of one data type to another
like transforming SQL data to XML data.
LINQ To SQL
LINQ to SQL offers an infrastructure (run-time) for the management of
relational data as objects. It is a component of version 3.5 of the .NET
Framework and ably does the translation of language-integrated queries of
the object model into SQL. These queries are then sent to the database for
the purpose of execution. After obtaining the results from the database,
LINQ to SQL again translates them to objects.
Introduction of LINQ To SQL
For most ASP.NET developers, LINQ to SQL (also known as DLINQ) is an
electrifying part of Language Integrated Query as this allows querying data
in SQL server database by using usual LINQ expressions. It also allows to
update, delete, and insert data, but the only drawback from which it suffers
is its limitation to the SQL server database. However, there are many
benefits of LINQ to SQL over ADO.NET like reduced complexity, few lines of
coding and many more.
Below is a diagram showing the execution architecture of LINQ to SQL.
How to Use LINQ to SQL?
Step 1 − Make a new “Data Connection” with database server. View
&arrar; Server Explorer &arrar; Data Connections &arrar; Add Connection
Step 2 − Add LINQ To SQL class file
Step 3 − Select tables from database and drag and drop into the new LINQ
to SQL class file.
Step 4 − Added tables to class file.
Querying with LINQ to SQL
The rules for executing a query with LINQ to SQL is similar to that of a
standard LINQ query i.e. query is executed either deferred or immediate.
There are various components that play a role in execution of a query with
LINQ to SQL and these are the following ones.
 LINQ to SQL API − requests query execution on behalf of an application
and sent it to LINQ to SQL Provider.
 LINQ to SQL Provider − converts query to Transact SQL(T-SQL) and sends
the new query to the ADO Provider for execution.
 ADO Provider − After execution of the query, send the results in the form
of a DataReader to LINQ to SQL Provider which in turn converts it into a
form of user object.
It should be noted that before executing a LINQ to SQL query, it is vital to
connect to the data source via DataContext class.
Insert, Update and Delete using LINQ To SQL
Add OR Insert
C#
using System;
using System.Linq;
namespace LINQtoSQL {
class LinqToSQLCRUD {
static void Main(string[] args) {
string connectString =
System.Configuration.ConfigurationManager.ConnectionStrings["LinqToSQLDBConnectio
nString"].ToString();
LinqToSQLDataContext db = new LinqToSQLDataContext(connectString);
//Create new Employee
Employee newEmployee = new Employee();
newEmployee.Name = "Michael";
newEmployee.Email = "yourname@companyname.com";
newEmployee.ContactNo = "343434343";
newEmployee.DepartmentId = 3;
newEmployee.Address = "Michael - USA";
//Add new Employee to database
db.Employees.InsertOnSubmit(newEmployee);
//Save changes to Database.
db.SubmitChanges();
//Get new Inserted Employee
Employee insertedEmployee = db.Employees.FirstOrDefault(e
⇒e.Name.Equals("Michael"));
Console.WriteLine("Employee Id = {0} , Name = {1}, Email = {2}, ContactNo = {3},
Address = {4}",
insertedEmployee.EmployeeId, insertedEmployee.Name, insertedEmployee.Email,
insertedEmployee.ContactNo, insertedEmployee.Address);
Console.WriteLine("nPress any key to continue.");
Console.ReadKey();
}
}
}
When the above code of C# is compiled and run, it produces the following
result −
Emplyee ID = 4, Name = Michael, Email = yourname@companyname.com, ContactNo =
343434343, Address = Michael - USA

More Related Content

PDF
Asp.net caching
PDF
Nodejs presentation
PDF
Language Server Protocol - Why the Hype?
PPTX
Modules in AngularJs
PPT
Struts
PPSX
Javascript variables and datatypes
PPTX
Android studio installation
PDF
JavaScript - Chapter 7 - Advanced Functions
Asp.net caching
Nodejs presentation
Language Server Protocol - Why the Hype?
Modules in AngularJs
Struts
Javascript variables and datatypes
Android studio installation
JavaScript - Chapter 7 - Advanced Functions

What's hot (20)

PPTX
Advanced angular
PPTX
Event In JavaScript
PPTX
Angular Data Binding
PPTX
Namespaces in C#
PPT
Learn javascript easy steps
PPTX
Nodejs functions & modules
PPTX
Lab #2: Introduction to Javascript
PPTX
Presentation on Visual Studio
PPTX
Client and server side scripting
PPTX
Introduction to spring boot
PPTX
Android share preferences
PPTX
Android User Interface
PDF
The JavaScript Programming Language
PPT
Asynchronous JavaScript & XML (AJAX)
PPTX
Javascript operators
PDF
Angular - Chapter 4 - Data and Event Handling
PPT
Cascading Style Sheets (CSS) help
PPTX
ASP.NET Web API
PDF
JavaScript - Chapter 12 - Document Object Model
PDF
Flask Introduction - Python Meetup
Advanced angular
Event In JavaScript
Angular Data Binding
Namespaces in C#
Learn javascript easy steps
Nodejs functions & modules
Lab #2: Introduction to Javascript
Presentation on Visual Studio
Client and server side scripting
Introduction to spring boot
Android share preferences
Android User Interface
The JavaScript Programming Language
Asynchronous JavaScript & XML (AJAX)
Javascript operators
Angular - Chapter 4 - Data and Event Handling
Cascading Style Sheets (CSS) help
ASP.NET Web API
JavaScript - Chapter 12 - Document Object Model
Flask Introduction - Python Meetup
Ad

Similar to Linq in C# (20)

PPTX
LINQ PPT.pptx
PPTX
SQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptx
DOCX
Project_Report (BARC-Jerin)_final
PPTX
Linq to xml
PDF
Module 3: Introduction to LINQ (Material)
PDF
New c sharp3_features_(linq)_part_iv
PDF
The LINQ Between XML and Database
PPTX
C# advanced topics and future - C#5
PPTX
Link quries
PPTX
Understanding LINQ in C#
PDF
70487.pdf
PPT
Linq
PDF
Asp.Net 3.5 Part 2
PPT
MySQL, LINQ and the ADO_NET Entity Framework Presentation.ppt
PPT
B_110500002
PPTX
Asp.net c# mvc Training-Day-5 of Day-9
PPTX
Linq to sql
PPT
PDF
Advanced SQL - Database Access from Programming Languages
LINQ PPT.pptx
SQL ttrain wrwrwrw wwrw wwrrrwrwrwrwwrwr.pptx
Project_Report (BARC-Jerin)_final
Linq to xml
Module 3: Introduction to LINQ (Material)
New c sharp3_features_(linq)_part_iv
The LINQ Between XML and Database
C# advanced topics and future - C#5
Link quries
Understanding LINQ in C#
70487.pdf
Linq
Asp.Net 3.5 Part 2
MySQL, LINQ and the ADO_NET Entity Framework Presentation.ppt
B_110500002
Asp.net c# mvc Training-Day-5 of Day-9
Linq to sql
Advanced SQL - Database Access from Programming Languages
Ad

More from Umar Farooq (10)

PDF
Ado.Net Architecture
PDF
Creating Windows-based Applications Part-I
PDF
Building .NET-based Applications with C#
PPTX
Selection Sort
PDF
Week 9 IUB c#
PDF
Matrix
PDF
Polymorphism, Abstarct Class and Interface in C#
PDF
Array and Collections in c#
PDF
C# (This keyword, Properties, Inheritance, Base Keyword)
PDF
Software process model
Ado.Net Architecture
Creating Windows-based Applications Part-I
Building .NET-based Applications with C#
Selection Sort
Week 9 IUB c#
Matrix
Polymorphism, Abstarct Class and Interface in C#
Array and Collections in c#
C# (This keyword, Properties, Inheritance, Base Keyword)
Software process model

Recently uploaded (20)

PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Classroom Observation Tools for Teachers
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Business Ethics Teaching Materials for college
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
01-Introduction-to-Information-Management.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Supply Chain Operations Speaking Notes -ICLT Program
Final Presentation General Medicine 03-08-2024.pptx
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Classroom Observation Tools for Teachers
VCE English Exam - Section C Student Revision Booklet
Week 4 Term 3 Study Techniques revisited.pptx
Basic Mud Logging Guide for educational purpose
Microbial diseases, their pathogenesis and prophylaxis
TR - Agricultural Crops Production NC III.pdf
Business Ethics Teaching Materials for college
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
01-Introduction-to-Information-Management.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
Microbial disease of the cardiovascular and lymphatic systems
Pharmacology of Heart Failure /Pharmacotherapy of CHF
102 student loan defaulters named and shamed – Is someone you know on the list?
Renaissance Architecture: A Journey from Faith to Humanism
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Supply Chain Operations Speaking Notes -ICLT Program

Linq in C#

  • 1. LINQ The acronym LINQ stands for Language Integrated Query. Microsoft’s query language is fully integrated and offers easy data access from in-memory objects, databases, XML documents, and many more. It is through a set of extensions, LINQ ably integrates queries in C# and Visual Basic. This tutorial offers a complete insight into LINQ with ample examples and coding. The entire tutorial is divided into various topics with subtopics that a beginner can be able to move gradually to more complex topics of LINQ. Developers across the world have always encountered problems in querying data because of the lack of a defined path and need to master a multiple of technologies like SQL, Web Services, XQuery, etc. Introduced in Visual Studio 2008 and designed by Anders Hejlsberg, LINQ (Language Integrated Query) allows writing queries even without the knowledge of query languages like SQL, XML etc. LINQ queries can be written for diverse data types. Example of a LINQ query C# using System; using System.Linq; class Program { static void Main() { string[] words = {"hello", "wonderful", "LINQ", "beautiful", "world"}; //Get only short words var shortWords = from word in words where word.Length <= 5 select word;
  • 2. //Print each word out foreach (var word in shortWords) { Console.WriteLine(word); } Console.ReadLine(); } } VB Module Module1 Sub Main() Dim words As String() = {"hello", "wonderful", "LINQ", "beautiful", "world"} ' Get only short words Dim shortWords = From word In words _ Where word.Length <= 5 _ Select word ' Print each word out. For Each word In shortWords Console.WriteLine(word) Next Console.ReadLine() End Sub End Module
  • 3. When the above code of C# or VB is compiled and executed, it produces the following result − hello LINQ world Syntax of LINQ There are two syntaxes of LINQ. These are the following ones. Lamda (Method) Syntax var longWords = words.Where( w ⇒ w.length > 10); Dim longWords = words.Where(Function(w) w.length > 10) Query (Comprehension) Syntax var longwords = from w in words where w.length > 10; Dim longwords = from w in words where w.length > 10 Types of LINQ The types of LINQ are mentioned below in brief.  LINQ to Objects  LINQ to XML(XLINQ)  LINQ to DataSet  LINQ to SQL (DLINQ)  LINQ to Entities Apart from the above, there is also a LINQ type named PLINQ which is Microsoft’s parallel LINQ. LINQ Architecture in .NET LINQ has a 3-layered architecture in which the uppermost layer consists of the language extensions and the bottom layer consists of data sources that are typically objects implementing IEnumerable <T> or IQueryable <T> generic interfaces. The architecture is shown below.
  • 4. Query Expressions Query expression is nothing but a LINQ query, expressed in a form similar to that of SQL with query operators like Select, Where and OrderBy. Query expressions usually start with the keyword "From". To access standard LINQ query operators, the namespace System.Query should be imported by default. These expressions are written within a declarative query syntax which was C# 3.0. Below is an example to show a complete query operation which consists of data source creation, query expression definition and query execution.
  • 5. C# using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Operators { class LINQQueryExpressions { static void Main() { // Specify the data source. int[] scores = new int[] { 97, 92, 81, 60 }; // Define the query expression. IEnumerable<int> scoreQuery = from score in scores where score > 80 select score; // Execute the query. foreach (int i in scoreQuery) { Console.Write(i + " "); } Console.ReadLine(); } } }
  • 6. When the above code is compiled and executed, it produces the following result − 97 92 81 Extension Methods Introduced with .NET 3.5, Extension methods are declared in static classes only and allow inclusion of custom methods to objects to perform some precise query operations to extend a class without being an actual member of that class. These can be overloaded also. In a nutshell, extension methods are used to translate query expressions into traditional method calls (object-oriented). Difference between LINQ and Stored Procedure There is an array of differences existing between LINQ and Stored procedures. These differences are mentioned below.  Stored procedures are much faster than a LINQ query as they follow an expected execution plan.  It is easy to avoid run-time errors while executing a LINQ query than in comparison to a stored procedure as the former has Visual Studio’s Intellisense support as well as full-type checking during compile-time.  LINQ allows debugging by making use of .NET debugger which is not in case of stored procedures.  LINQ offers support for multiple databases in contrast to stored procedures, where it is essential to re-write the code for diverse types of databases.  Deployment of LINQ based solution is easy and simple in comparison to deployment of a set of stored procedures. Need For LINQ Prior to LINQ, it was essential to learn C#, SQL, and various APIs that bind together the both to form a complete application. Since, these data sources
  • 7. and programming languages face an impedance mismatch; a need of short coding is felt. Below is an example of how many diverse techniques were used by the developers while querying a data before the advent of LINQ. SqlConnection sqlConnection = new SqlConnection(connectString); SqlConnection.Open(); System.Data.SqlClient.SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = sqlConnection; sqlCommand.CommandText = "Select * from Customer"; return sqlCommand.ExecuteReader (CommandBehavior.CloseConnection) Interestingly, out of the featured code lines, query gets defined only by the last two. Using LINQ, the same data query can be written in a readable color-coded form like the following one mentioned below that too in a very less time. Northwind db = new Northwind(@"C:DataNorthwnd.mdf"); var query = from c in db.Customers select c; Advantages of LINQ LINQ offers a host of advantages and among them the foremost is its powerful expressiveness which enables developers to express declaratively. Some of the other advantages of LINQ are given below.  LINQ offers syntax highlighting that proves helpful to find out mistakes during design time.  LINQ offers IntelliSense which means writing more accurate queries easily.  Writing codes is quite faster in LINQ and thus development time also gets reduced significantly.
  • 8.  LINQ makes easy debugging due to its integration in the C# language.  Viewing relationship between two tables is easy with LINQ due to its hierarchical feature and this enables composing queries joining multiple tables in less time.  LINQ allows usage of a single LINQ syntax while querying many diverse data sources and this is mainly because of its unitive foundation.  LINQ is extensible that means it is possible to use knowledge of LINQ to querying new data source types.  LINQ offers the facility of joining several data sources in a single query as well as breaking complex problems into a set of short queries easy to debug.  LINQ offers easy transformation for conversion of one data type to another like transforming SQL data to XML data. LINQ To SQL LINQ to SQL offers an infrastructure (run-time) for the management of relational data as objects. It is a component of version 3.5 of the .NET Framework and ably does the translation of language-integrated queries of the object model into SQL. These queries are then sent to the database for the purpose of execution. After obtaining the results from the database, LINQ to SQL again translates them to objects. Introduction of LINQ To SQL For most ASP.NET developers, LINQ to SQL (also known as DLINQ) is an electrifying part of Language Integrated Query as this allows querying data in SQL server database by using usual LINQ expressions. It also allows to update, delete, and insert data, but the only drawback from which it suffers is its limitation to the SQL server database. However, there are many benefits of LINQ to SQL over ADO.NET like reduced complexity, few lines of coding and many more.
  • 9. Below is a diagram showing the execution architecture of LINQ to SQL. How to Use LINQ to SQL? Step 1 − Make a new “Data Connection” with database server. View &arrar; Server Explorer &arrar; Data Connections &arrar; Add Connection
  • 10. Step 2 − Add LINQ To SQL class file
  • 11. Step 3 − Select tables from database and drag and drop into the new LINQ to SQL class file.
  • 12. Step 4 − Added tables to class file.
  • 13. Querying with LINQ to SQL The rules for executing a query with LINQ to SQL is similar to that of a standard LINQ query i.e. query is executed either deferred or immediate. There are various components that play a role in execution of a query with LINQ to SQL and these are the following ones.  LINQ to SQL API − requests query execution on behalf of an application and sent it to LINQ to SQL Provider.  LINQ to SQL Provider − converts query to Transact SQL(T-SQL) and sends the new query to the ADO Provider for execution.  ADO Provider − After execution of the query, send the results in the form of a DataReader to LINQ to SQL Provider which in turn converts it into a form of user object.
  • 14. It should be noted that before executing a LINQ to SQL query, it is vital to connect to the data source via DataContext class. Insert, Update and Delete using LINQ To SQL Add OR Insert C# using System; using System.Linq; namespace LINQtoSQL { class LinqToSQLCRUD { static void Main(string[] args) { string connectString = System.Configuration.ConfigurationManager.ConnectionStrings["LinqToSQLDBConnectio nString"].ToString(); LinqToSQLDataContext db = new LinqToSQLDataContext(connectString); //Create new Employee Employee newEmployee = new Employee(); newEmployee.Name = "Michael"; newEmployee.Email = "yourname@companyname.com"; newEmployee.ContactNo = "343434343"; newEmployee.DepartmentId = 3; newEmployee.Address = "Michael - USA"; //Add new Employee to database
  • 15. db.Employees.InsertOnSubmit(newEmployee); //Save changes to Database. db.SubmitChanges(); //Get new Inserted Employee Employee insertedEmployee = db.Employees.FirstOrDefault(e ⇒e.Name.Equals("Michael")); Console.WriteLine("Employee Id = {0} , Name = {1}, Email = {2}, ContactNo = {3}, Address = {4}", insertedEmployee.EmployeeId, insertedEmployee.Name, insertedEmployee.Email, insertedEmployee.ContactNo, insertedEmployee.Address); Console.WriteLine("nPress any key to continue."); Console.ReadKey(); } } } When the above code of C# is compiled and run, it produces the following result − Emplyee ID = 4, Name = Michael, Email = yourname@companyname.com, ContactNo = 343434343, Address = Michael - USA