Linq和ADO.net的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq和ADO.net的区别相关的知识,希望对你有一定的参考价值。

如题,Linq可以被ADO.net代替么??

参考技术A 说得通俗点,Linq是高度封装的语言,它的好处是为方便开发人员,加快开发速度。它的缺点就是运行效率没ADO.net好。
你想开发快,用linq访问数据,想要高效率,用ado.net
参考技术B 用白话讲,linq相当于一种查询语言,可用于3.5以上.net框架内的查询,可以查询数据集,列表框、数组等支持泛型的对象。而ado.net相当于一个程序于数据库的接口。linq可以连接ado.net操纵数据库,俩东西,不矛盾。也就是操纵ado.net可以用sql或者linq。
我是这么理解的,没去翻书,可以查相关资料,vs2008或vs2010安装时的示例里有linq的,可以调试一下看看

webform--LinQ的相关操作

LinQ:LineQ to Sq类:集成化的数据访问类;与ado.net没区别;
--------------------------------------------
LinQ的创建:
右键,添加新建项,LinQ to Slq类,后缀名dbml;
一个数据库对应一个数据库;

LinQ的操作:
查询所有:
//实例化
Data0617DataContext con = new Data0617DataContext();
public List<Uesr>Select()
{
return con.Users.Tolist();
}
--------------------
条件查询:
(精确查找)点击查询:
//lamdba表达式(遍历所有的数据)
public List<Uesr>Select(string name)
{
return con.Users.where(r=>r.UserName==name).ToList();
}
--------
字段扩展:(例如民族的显示)
“再造一个partial类”
public partial class Users
{
//有主外键关系,
public string Nname{get{return Nation1.NationName}}
}
------------------------------------------
LinQ的增删改:
增加(添加):
public void Insert(Users)
{
con.Users.InsertOnSubmit(u);
con.SubmitChanges();
}
删除:
public void Delete(string Uname)
{
Users uu=con.Users.where(r=>r.UserName==Uname).FirstOrDefault()
if(uu!=null)
{
con.Users.DeleteOnSubmit(uu);
con.SubmitChanges();
}
}
修改:

public void Update(Users u)
{
Users uuu=con.Users.where(r=>r.UserName==u.UserName).FirstOrDefault()
uuu.Passward=u.PassWard;
con.SubmitChanges();
}

 




















































以上是关于Linq和ADO.net的区别的主要内容,如果未能解决你的问题,请参考以下文章

使用 Linq-to-SQL 的 ADO.NET 数据服务

具有 LINQ 关联的 C# 和 ADO .NET 实体数据模型以及同一表的实体

asp.net和ado.net有啥区别?

ado.net和asp.net区别?

c#编写的代码用:linq和传统的ado.net哪个好,出错少,哪个更快,对服务器的负担最小

带有存储过程的实体框架 VS LINQ to SQL VS ADO.NET? [关闭]