在前面的两篇文章中,我们讨论了如何用LINQ TO SQL查询和处理数据,并却学习了如何用LINQ处理存储过程。在先前的例子中,我们是通过创建实体类和我们的数据相关联的,Visual Studio提供了内嵌的设计模式来处理同样的功能。接下来将讨论如何在项目中使用这些类。

   首先添加一个LINQ to SQL 类文件

Using LINQ in ASP.NET (3)

它将在我们的App_Code文件夹下添加三个文件。.dbml文件(xml对整个类的映射),.layout文件,.cs文件(包含所有自动生成的代码)。

现在我门使用数据库资源管理器连接我们的数据库,将Employees表拖到DBML设计器上。

 

Using LINQ in ASP.NET (3)

这样编译器将自动为我们生成一个实体类,你可以删除不需要的字段。

Using LINQ in ASP.NET (3)

同样的方法,我们可以将添加,删除,更新的存储过程也加入到我们的项目中。

Using LINQ in ASP.NET (3)

Using LINQ in ASP.NET (3)

为了对实体类指定添加,更新,删除的操作,可以在CEmployee 类上右击鼠标,选择配置行为,将出现下面的窗口:

Using LINQ in ASP.NET (3)

接下来你就可以通过存储过程为实体类添加新增,更新,删除的行为。ok,这样就通过Visual Studio为我们的工程创建了实体类。

下面利用所建的实体类来完成和(2)中同样的操作

 BindDetailsView()
    {
        DataClassesDataContext db = new DataClassesDataContext();
        Table
<CEmployee> results= db.GetTable<CEmployee>();
        DetailsView1.DataSource 
= results;
        DetailsView1.DataBind();
    }

 

对数据的操作:

 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的使用就说到这里。

 

相关文章: