溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ASP.NET中怎么利用LINQ處理數(shù)據(jù)

發(fā)布時間:2021-07-15 14:46:11 來源:億速云 閱讀:99 作者:Leah 欄目:編程語言

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)ASP.NET中怎么利用LINQ處理數(shù)據(jù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一.引用命名空間

System.Data.Linq

System.Data.Linq.Mapping (需要在項(xiàng)目中先引用System.Data.Linq)

二.為數(shù)據(jù)庫表創(chuàng)建實(shí)體類

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)建一個強(qiáng)類型的數(shù)據(jù)環(huán)境

我們的數(shù)據(jù)庫系統(tǒng)可能會和多種類型的數(shù)據(jù)源打交道,所以應(yīng)該使我們的程序有和數(shù)據(jù)源進(jìn)行創(chuàng)建連接的能力。這里我們將創(chuàng)建的NorthwindDb類繼承DataContext基類。DataContext類表示LINQ to SQL 框架的主入口點(diǎn)。

ASP.NET中怎么利用LINQ處理數(shù)據(jù)

其中有相關(guān)的處理LINQ to SQL的類,方法等。

public class NorthwindDb:DataContext
{
public NorthwindDb(string connectionString):base(connectionString)
{
}
public Table

四.創(chuàng)建Web From

ASP.NET中怎么利用LINQ處理數(shù)據(jù)

首先為GridView綁定數(shù)據(jù)

private void BindGridView(string criteria)
{
string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
NorthwindDb db = new NorthwindDb(strConn);
IEnumerable

搜索按鈕只需將參數(shù)傳進(jìn)去即可BindGridView(TextBox1.Text);

如果選中了GridView中的某一行,則需要將選中的數(shù)據(jù)綁定到DetailsView 中進(jìn)行編輯使用。

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ù)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI