you’ll need to persist objects to a database, query the database and load the results back into objects. The problem is that in
most cases, at least with relational databases, there is a gap between your programming language and the database. Good attempts have been made to provide object-oriented databases, which would be closer to object-oriented platforms and imperative programming languages like C# and VB.NET. However, after all these years, relational databases are still pervasive and you still have to struggle with data-access and persistence in all of your programs.The original motivation behind LINQ was to address the impedance mismatch between programming languages and databases. With LINQ, Microsoft’s intention was to provide a solution for the problem of object-relational mapping, as well as simplify the interaction between objects and data sources.
most cases, at least with relational databases, there is a gap between your programming language and the database. Good attempts have been made to provide object-oriented databases, which would be closer to object-oriented platforms and imperative programming languages like C# and VB.NET. However, after all these years, relational databases are still pervasive and you still have to struggle with data-access and persistence in all of your programs.The original motivation behind LINQ was to address the impedance mismatch between programming languages and databases. With LINQ, Microsoft’s intention was to provide a solution for the problem of object-relational mapping, as well as simplify the interaction between objects and data sources.
LINQ eventually evolved into a general-purpose language-integrated querying toolset. This toolset can be used to
access data coming from in-memory objects (LINQ to Objects), databases (LINQ to SQL), XML documents (LINQ to XML), a file-system, or from any other source.
Examples
Response.Write("<h2>LINQ to Object</h2>");
int[] numbers = { 5,6,7,8,3,4,9,1,2,0 };
var no= from n in numbers
group n by n % 2 into g
select new { Reminder=g.Key ,Number=g };
foreach (var g in no)
{
string s = string.Format("<br/>no of remainder of {0} when divided by 2:", g.Reminder);
Response.Write(s);
foreach (var n in g.Number)
{
Response.Write("<br/>"+n);
}
}
/*
OUTPUT
no of remainder of 1 when divided by 2:
5
7
3
9
1
no of remainder of 0 when divided by 2:
6
8
4
2
0
*/
// for word lenth
Response.Write("<h3>find length of word</h3>");
string[] word = { "ABCD","EFG","HIJKL","MN","OPQRST","UVWXYZ"};
var len = from words in word
// where words.Length <= 5
orderby words.Length ascending
select words;
foreach (var leng in len)
{
Response.Write("<br/>" + leng + " >>Length :" + leng.Length);
}
/*
OUTPUT
find length of word
MN >>Length :2
EFG >>Length :3
ABCD >>Length :4
HIJKL >>Length :5
OPQRST >>Length :6
UVWXYZ >>Length :6
*/
//find even no
Response.Write("<h3>find even number</h3>");
int[] number = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15 };
var ev = from even in number
where even % 2 == 0
orderby even descending
select even;
Response.Write("Even Number<br/>");
foreach (var evn in ev)
{
Response.Write(evn+"<br/>");
}
/*
OUTPUT
find even number
Even Number
12
10
8
6
4
2
*/
int[] numbers = { 5,6,7,8,3,4,9,1,2,0 };
var no= from n in numbers
group n by n % 2 into g
select new { Reminder=g.Key ,Number=g };
foreach (var g in no)
{
string s = string.Format("<br/>no of remainder of {0} when divided by 2:", g.Reminder);
Response.Write(s);
foreach (var n in g.Number)
{
Response.Write("<br/>"+n);
}
}
/*
OUTPUT
no of remainder of 1 when divided by 2:
5
7
3
9
1
no of remainder of 0 when divided by 2:
6
8
4
2
0
*/
// for word lenth
Response.Write("<h3>find length of word</h3>");
string[] word = { "ABCD","EFG","HIJKL","MN","OPQRST","UVWXYZ"};
var len = from words in word
// where words.Length <= 5
orderby words.Length ascending
select words;
foreach (var leng in len)
{
Response.Write("<br/>" + leng + " >>Length :" + leng.Length);
}
/*
OUTPUT
find length of word
MN >>Length :2
EFG >>Length :3
ABCD >>Length :4
HIJKL >>Length :5
OPQRST >>Length :6
UVWXYZ >>Length :6
*/
//find even no
Response.Write("<h3>find even number</h3>");
int[] number = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15 };
var ev = from even in number
where even % 2 == 0
orderby even descending
select even;
Response.Write("Even Number<br/>");
foreach (var evn in ev)
{
Response.Write(evn+"<br/>");
}
/*
OUTPUT
find even number
Even Number
12
10
8
6
4
2
*/