没有合适的资源?快使用搜索试试~ 我知道了~
首页LINQ深度探索:C#与VB集成数据查询教程
LINQ深度探索:C#与VB集成数据查询教程
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 131 浏览量
更新于2024-06-27
收藏 790KB DOC 举报
LINQ中文教程是一系列深入介绍Language Integrated Query (LINQ)的文档,它涵盖了从基础入门到高级特性的学习路径。该教程包括多个部分,如逐步学习如何在C#和VB.NET中使用LINQ to Object,一步步掌握LINQ to SQL,涉及数据访问的各个方面,如DataContext、实体关系管理、存储过程、并发处理、事务以及LINQ to XML的操作。作者通过实例演示了如何利用LINQ简化数据访问,尤其是在处理不同数据源(如数据库、XML和对象集合)时,它提供了一种统一的查询语法,降低了编程复杂性。 LINQ的核心理念是将查询语言嵌入到编程语言中,使得开发者可以用类似C#或VB的语法编写数据查询,无论是从关系型数据库、XML文档还是内存中的对象集合,都能实现一致的操作体验。这极大地提高了开发效率,特别是当项目涉及多种数据格式时。Visual Studio的强大支持使得编写SQL语句变得更加智能和便捷,而且 LINQ 的Data as Object的理念,允许开发者以面向对象的方式处理数据,增强了代码的可读性和灵活性。 此外,教程还介绍了LINQ to XML的使用,包括创建、解析和修改XML文档,以及如何利用LINQ快速创建RSS feeds。对于C# 2008的用户,教程中提供了关于LINQ to XML的详细学习内容,包括命名空间的使用、编程方式创建和操作XML,以及遍历和修改内存中的XML文档。 这系列教程为读者提供了全面且循序渐进的LINQ学习路径,旨在帮助开发者更好地理解和掌握这一强大的功能,从而提升软件开发的质量和效率。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/87425587/bg10.jpg)
简易留言簿
现在,我们就可以使用 Linq to sql 完成简易留言簿了。实现以下功能:
� 发表留言(增)
� 查看留言(查)
� 管理员回复留言(改)
� 管理员删除留言(删除)
首先,创建一个 Default.aspx,在页面上加入一些控件:
<div>
姓名
<asp:TextBox ID="tb_UserName" runat="server"></asp:TextBox><br />
<br />
留言
<asp:TextBox ID="tb_Message" runat="server" Height="100px" TextMode="MultiLine" Width="300px"></asp:TextBox><br />
<br />
<asp:Button ID="btn_SendMessage" runat="server" Text="发表留言" OnClick="btn_SendMessage_Click" /><br />
<br />
<asp:Repeater ID="rpt_Message" runat="server">
<ItemTemplate>
<table width="600px" style="border:solid 1px #666666; font-size:10pt; background-color:#f0f0f0">
<tr>
<td align="left" width="400px">
![](https://csdnimg.cn/release/download_crawler_static/87425587/bg11.jpg)
<%# Eval("Message")%>
</td>
<td align="right" width="200px">
<%# Eval("PostTime")%> - <%# Eval("UserName")%>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<hr width="300px" />
管理员回复:<%# Eval("IsReplied").ToString() == "False" ? "暂无" : Eval("Reply")%>
</td>
</tr>
</table>
<br/>
</ItemTemplate>
</asp:Repeater>
</div>
你可能很难想象,使用 Linq to sql 进行数据访问会是这么简单,后台代码:
public partial class _Default : System.Web.UI.Page
{
GuestBookDataContext ctx = new GuestBookDataContext("server=xxx;database=GuestBook;uid=xxx;pwd=xxx");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SetBind();
}
}
protected void btn_SendMessage_Click(object sender, EventArgs e)
{
tbGuestBook gb = new tbGuestBook();
gb.ID = Guid.NewGuid();
gb.UserName = tb_UserName.Text;
gb.Message = tb_Message.Text;
gb.IsReplied = false;
gb.PostTime = DateTime.Now;
ctx.tbGuestBooks.Add(gb);
ctx.SubmitChanges();
SetBind();
}
private void SetBind()
{
![](https://csdnimg.cn/release/download_crawler_static/87425587/bg12.jpg)
rpt_Message.DataSource = from gb in ctx.tbGuestBooks orderby gb.PostTime descending select gb;
rpt_Message.DataBind();
}
}
前面创建 Linq to sql Classes 的时候我们输入名字 GuestBook,系统就为我们
自动创建了 GuestBookDataContext(你也可以在 GuestBook.Designer.cs 中找到
类定义)。在绑定的时候我们使用查询句法查询留言表中所有留言,按照发表时
间倒序(天哪?这是数据访问吗?好像仅仅定义了一句 SQL 啊)。在发表留言
按钮中,我们为一个 tbGuestBook 赋值,然后把它加入留言表,再提交更改,就
这样完成了记录的插入。
运行效果如下图:
然后,再创建一个 Admin.aspx,前台代码如下:
<div>
<asp:Repeater ID="rpt_Message" runat="server" OnItemCommand="rpt_Message_ItemCommand">
<ItemTemplate>
<table width="600px" style="border:solid 1px #666666; font-size:10pt; background-color:#f0f0f0">
<tr>
<td align="left" width="400px">
<%# Eval("Message")%>
</td>
![](https://csdnimg.cn/release/download_crawler_static/87425587/bg13.jpg)
<td align="right" width="200px">
<%# Eval("PostTime")%> - <%# Eval("UserName")%>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<hr width="300px" />
<asp:Button ID="btn_DeleteMessage" runat="server" Text=" 删 除 留 言
" CommandName="DeleteMessage" CommandArgument='<%# Eval("ID")%>'/>
管 理 员 回 复 :
<asp:TextBox runat="server" ID="tb_Reply" TextMode="MultiLine" Width="300px" Text='<%# Eval("Reply")%>'/>
<asp:Button ID="btn_SendReply" runat="server" Text=" 发 表 回 复
" CommandName="SendReply" CommandArgument='<%# Eval("ID")%>'/>
</td>
</tr>
</table>
<br/>
</ItemTemplate>
</asp:Repeater>
</div>
后台代码:
public partial class Admin : System.Web.UI.Page
{
GuestBookDataContext ctx = new GuestBookDataContext("server=xxx;database=GuestBook;uid=xxx;pwd=xxx");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SetBind();
}
}
private void SetBind()
{
rpt_Message.DataSource = from gb in ctx.tbGuestBooks orderby gb.PostTime descending select gb;
rpt_Message.DataBind();
}
protected void rpt_Message_ItemCommand(object source, RepeaterCommandEventArgs e)
{
剩余94页未读,继续阅读
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/5d3d17b770eb4c6785682f01b138d5bc_z9894.jpg!1)
悠闲饭团
- 粉丝: 182
- 资源: 3379
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 新型矿用本安直流稳压电源设计:双重保护电路
- 煤矿掘进工作面安全因素研究:结构方程模型
- 利用同位素位移探测原子内部新型力
- 钻锚机钻臂动力学仿真分析与优化
- 钻孔成像技术在巷道松动圈检测与支护设计中的应用
- 极化与非极化ep碰撞中J/ψ的Sivers与cos2φ效应:理论分析与COMPASS验证
- 新疆矿区1200m深孔钻探关键技术与实践
- 建筑行业事故预防:综合动态事故致因理论的应用
- 北斗卫星监测系统在电网塔形实时监控中的应用
- 煤层气羽状水平井数值模拟:交替隐式算法的应用
- 开放字符串T对偶与双空间坐标变换
- 煤矿瓦斯抽采半径测定新方法——瓦斯储量法
- 大倾角大采高工作面设备稳定与安全控制关键技术
- 超标违规背景下的热波动影响分析
- 中国煤矿选煤设计进展与挑战:历史、现状与未来发展
- 反演技术与RBF神经网络在移动机器人控制中的应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)