這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)ASP.NET中怎么利用LINQ處理數(shù)據(jù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
雨花網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,雨花網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為雨花上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的雨花做網(wǎng)站的公司定做!
一.引用命名空間
System.Data.Linq
System.Data.Linq.Mapping (需要在項目中先引用System.Data.Linq)
二.為數(shù)據(jù)庫表創(chuàng)建實體類
Table(Name="Employees")] public class Employee { [Column(IsDbGenerated=true,IsPrimaryKey=true)] public int EmployeeID { get; set; } [Column(Name="FirstName",DbType="varchar(20)")] public string FirstName { get; set; } [Column(Name = "LastName", DbType = "varchar(20)")] public string LastName { get; set; } } |
常用的屬性聲明,可以很好的描述表中字段的屬性:
Name: 字段的名稱
DbType: 字段的數(shù)據(jù)類型
IsDbGenerated: 是否自動生成
CanBeNull: 字段是否為空
Storage: 保存數(shù)據(jù)的類字段名
三.創(chuàng)建一個強類型的數(shù)據(jù)環(huán)境
我們的數(shù)據(jù)庫系統(tǒng)可能會和多種類型的數(shù)據(jù)源打交道,所以應(yīng)該使我們的程序有和數(shù)據(jù)源進行創(chuàng)建連接的能力。這里我們將創(chuàng)建的NorthwindDb類繼承DataContext基類。DataContext類表示LINQ to SQL 框架的主入口點。
其中有相關(guān)的處理LINQ to SQL的類,方法等。
public class NorthwindDb:DataContext { public NorthwindDb(string connectionString):base(connectionString) { } public Table |
四.創(chuàng)建Web From
首先為GridView綁定數(shù)據(jù)
private void BindGridView(string criteria) { string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; NorthwindDb db = new NorthwindDb(strConn); IEnumerable
搜索按鈕只需將參數(shù)傳進去即可BindGridView(TextBox1.Text);
如果選中了GridView中的某一行,則需要將選中的數(shù)據(jù)綁定到DetailsView 中進行編輯使用。
private void BindDetailsView() { int employeeID = (int)GridView1.SelectedValue; string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; NorthwindDb db = new NorthwindDb(strConn); var results = from emp in db.Employee where emp.EmployeeID == employeeID select emp; DetailsView1.DataSource = results; DetailsView1.DataBind(); }
接下來就是對數(shù)據(jù)的增刪改操作:
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e) { string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; NorthwindDb db = new NorthwindDb(strConn); var results = from emp in db.Employee where emp.EmployeeID == (int)DetailsView1.SelectedValue select emp; results.First().FirstName = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text; results.First().LastName = ((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).Text; db.SubmitChanges(); BindGridView(string.Empty); } protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e) { string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; NorthwindDb db = new NorthwindDb(strConn); Employee emp = new Employee(); emp.FirstName = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text; emp.LastName= ((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).Text; db.Employee.InsertOnSubmit(emp); db.SubmitChanges(); BindGridView(string.Empty); } protected void DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e) { string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; NorthwindDb db = new NorthwindDb(strConn); var results = db.Employee.Single(emp => emp.EmployeeID==(int)DetailsView1.SelectedValue); db.Employee.DeleteOnSubmit(results); db.SubmitChanges(); BindGridView(string.Empty); }
上述就是小編為大家分享的ASP.NET中怎么利用LINQ處理數(shù)據(jù)了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。