LINQ : DropdownList, Mapping

This example shows how to use LINQ (Language-Integrated Query introduced around 2008).Mapping, and coding (with C# or Visual Basic) 

Please visit : http://frontiersoft.net/BareBone_AspNet/index.htm for more on ASP.Net

Keywords

  • Creating Database connection from ServerExploer other than local database (in App_data folder).
  • DataContext
  • LINQ -Entity, manual coding
  • Initial Catalog='LINQ3'
  • assembly="System.Data.Linq, (System.Data.Linq.dll)
  • using System.Data.Linq;
  • using System.Data.Linq.Mapping;
  • using System.Web.Configuration;
  • WebConfigurationManager.ConnectionStrings

Step : Create a new web-site (Intranet User http://manas6/aspnet.35/mm.LINQ3/default.aspx )

 

At this point web.config does contain any connection string

Now create Table

 

Step 2: after entering some data in the table , close the table and add any data source control to create a connection string

FYI, you will note that the connection string uses Initial Catalog, than using a file as Datasource

  • Data Source='MANAS6\SQLEXPRESS';Integrated Security=True;Pooling=False;Initial Catalog='LINQ3'

Just Follow the IDE, using Next and then Finish, we just need a connection string to connect the database LINQ3

Note the connection string formed in web.config, this connection can be accessed from anywhere in the current and outside as a public.

<connectionStrings>
<add name="LINQ3ConnectionString" connectionString="Data Source='MANAS6\SQLEXPRESS';Integrated Security=True;Pooling=False;Initial Catalog='LINQ3'"
providerName="System.Data.SqlClient" />
</connectionStrings>

SQL Server Management Studio Express is updated with the new database.

Now add a folder and add class in it as shown below

Now add a reference

The above adds the System.Data.Linq dynamic link library, as an assembly, and registered in Web.config.

<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies>
 

Once the library is in place, edit the code module of Linq_Entity.cs class

Code Linq_Entity.cs

using System;
using System.Data.Linq;
using System.Data.Linq.Mapping;
/// <summary>
/// Summary description for Linq_Entity
/// </summary>
///
[Table(Name="dbo.Simple_Table" )]
public class Linq_Entity
{
/* public Linq_Entity()
{
//
// TODO: Add constructor logic here
//
}
*/
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public string Lid { get; set; }
[Column]
public string FirstName { get; set; }
[Column]
public string LastName { get; set; }
[Column]
public string Position { get; set; }
[Column]
public string Experience { get; set; }
[Column]
public string Notes { get; set; }
}
 

 

Edit Default.aspx.

Code Default.aspx

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Configuration;
// DataContext
using System.Data.Linq;
public partial class _Default : System.Web.UI.Page
{
private string strcnn = WebConfigurationManager.ConnectionStrings["LINQ3ConnectionString"].ConnectionString;

protected void Page_Load(object sender, EventArgs e)
{

}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DataContext db = new DataContext(strcnn);
var tlinq = db.GetTable<Linq_Entity>();
DetailsView1.DataSource = tlinq.Where(m => m.FirstName.Equals(DropDownList1.SelectedItem.Text));
//DetailsView1.DataSource = tlinq.Where(m => m.FirstName.Contains(DropDownList1.SelectedItem.Text));
DetailsView1.DataBind();
}
}
 

Code: Default.aspx.cs

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Configuration;
// DataContext
using System.Data.Linq;
public partial class _Default : System.Web.UI.Page
{
private string strcnn = WebConfigurationManager.ConnectionStrings["LINQ3ConnectionString"].ConnectionString;

protected void Page_Load(object sender, EventArgs e)
{

}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DataContext db = new DataContext(strcnn);
var tlinq = db.GetTable<Linq_Entity>();
DetailsView1.DataSource = tlinq.Where(m => m.FirstName.Equals(DropDownList1.SelectedItem.Text));
//DetailsView1.DataSource = tlinq.Where(m => m.FirstName.Contains(DropDownList1.SelectedItem.Text));
DetailsView1.DataBind();
}
}
 

Run time view