This blog containing text about Linq to
Dataset object :
The Dataset is a standerd object used in ado.net to work with disconnected
data from a variety of data sources and optionally update data source at a
later time with changes made working in disconnected mode. Linq to dataset lets
you query dataset objects using linq queries.Linq to Dataset also lets you
easily and flexible solutions to support tasks such as generic reporting and
analysis. A linq to dataset query is shown below in following example :-
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Data.SqlClient;
using
System.Data;
namespace
LinqToDataset
{
class Program
{
static void
Main(string[] args)
{
string connectString =
"Data Source=RAVI;" +
"Integrated security=true;Initial Catalog=Super_old;";
string sqlSelect =
"SELECT * FROM mstore;" +
"SELECT * FROM msalesman;";
//
Create the data adapter to retrieve data from the database
SqlDataAdapter da =
new SqlDataAdapter(sqlSelect,
connectString);
// Create table mappings
da.TableMappings.Add("Table",
"mStore");
da.TableMappings.Add("Table1",
"mSalesMan");
// Create and fill the DataSet
DataSet ds = new
DataSet();
da.Fill(ds);
DataRelation dr = ds.Relations.Add("StoreId_key",
ds.Tables["mStore"].Columns["StoreId"],
ds.Tables["mSalesMan"].Columns["StoreId"]);
DataTable Store = ds.Tables["mStore"];
DataTable SaleMan = ds.Tables["mSalesMan"];
var query = from
p in Store.AsEnumerable()
join i in
SaleMan.AsEnumerable()
on p.Field<int>("StoreId")
equals
i.Field<int>("StoreId")
where p.Field<int>("StoreId")
== 2
select
new
{
StoreId = p.Field<int>("StoreId"),
Name = p.Field<string>("Name"),
SalesManName = i.Field<string>("Name")
};
foreach (var q
in query)
{
Console.WriteLine("StoreId
= {0} , StoreName = {1} , SalesManName = {2}",
q.StoreId,
q.Name, q.SalesManName);
}
Console.WriteLine("\nPress
any key to continue.");
Console.ReadKey();
}
}
}
The First step in a Linq Query is to obtain a data source. With Linq to dataset
,Name clears that we need to fill dataset object from the data source. You do
this using dataadapter object.
In the second step Dataset is filled with two datatable mStore and mSalesMan
from the super_OLD. In next step I created relationship between both tables
named StoreId_key.
Now, In third step I created a linq query against both related table.In Linq,
this done using join clause to specify the elements being related. The select
clause returns three fields StoreId, StoreName SalesMan Name in the result set.
The final step uses the foreach loop to show the result set…