
在前面的两篇文章中,我们讨论了如何用LINQ TO SQL查询和处理数据,并却学习了如何用LINQ处理存储过程。在先前的例子中,我们是通过创建实体类和我们的数据相关联的,Visual Studio提供了内嵌的设计模式来处理同样的功能。接下来将讨论如何在项目中使用这些类。
在前面的两篇文章中,我们讨论了如何用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的使用就说到这里。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述