Using LINQ in ASP.NET (3)
作者:GWPBrian 出处:博客园 2010年01月27日 阅读:
在前面的两篇文章中,我们讨论了如何用LINQ TO SQL查询和处理数据,并却学习了如何用LINQ处理存储过程。在先前的例子中,我们是通过创建实体类和我们的数据相关联的,Visual Studio提供了内嵌的设计模式来处理同样的功能。接下来将讨论如何在项目中使用这些类。
首先添加一个LINQ to SQL 类文件
|
|
它将在我们的App_Code文件夹下添加三个文件。.dbml文件(xml对整个类的映射),.layout文件,.cs文件(包含所有自动生成的代码)。
现在我门使用数据库资源管理器连接我们的数据库,将Employees表拖到DBML设计器上。
|
|
这样编译器将自动为我们生成一个实体类,你可以删除不需要的字段。 |
|
同样的方法,我们可以将添加,删除,更新的存储过程也加入到我们的项目中。 |
|
|
为了对实体类指定添加,更新,删除的操作,可以在CEmployee 类上右击鼠标,选择配置行为,将出现下面的窗口: |
|
接下来你就可以通过存储过程为实体类添加新增,更新,删除的行为。ok,这样就通过Visual Studio为我们的工程创建了实体类。
下面利用所建的实体类来完成和(2)中同样的操作
Code
private void BindDetailsView()
{
DataClassesDataContext db = new DataClassesDataContext();
Table<CEmployee> results= db.GetTable<CEmployee>();
DetailsView1.DataSource = results;
DetailsView1.DataBind();
}
对数据的操作:
Code
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
DataClassesDataContext db = new DataClassesDataContext();
db.Employees_Update((int)DetailsView1.SelectedValue, ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text, ((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).Text);
}
protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
DataClassesDataContext db = new DataClassesDataContext();
db.Employees_Insert(((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text, ((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).Text);
}
protected void DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e)
{
DataClassesDataContext db = new DataClassesDataContext();
db.Employees_Delete((int)DetailsView1.SelectedValue);
}
是不是很方便?LINQ to SQL的使用就说到这里。(本文由控件中国网转载)
|