对于已经习惯了sql语句的程序员,linq似乎是个怪胎,但却不可否认linq确实很好用,它把复杂的sql操作变的如此简单,下面针对数据库的常见操作,我们用linq来完成看一看linq的作用:
一、在我们已经建立的项目中添加组件,选择linq to sql 类,确定后,在我闪的项目中会多出一个类库其中包含了一个文件:DataClasses1.dbml,打开它,这时会提示你打开相应的资源管理器,以便连接到相应的数据库,依次安要求操作,打开vs资源管理器,连接到相应的数据库,选择要对其进行操作的表,将其拖到dbml文件上,这时这个表的信息就出现在了dbml的视图中。在页面视图中右单击查看代码进入代码编辑页面DataClasses1.cs,在这里我们发现已经有一个类DataClasses1DataContext,这个类是对所有dbml文件中数据进行操作的基础。
二、接下来就开始真一些人的代码编辑了。如果我们拖入的是一个用户信息表usersinfo它有两个字段,编号uID,用户名uName,我们先来完成查询操作,在cs 文件中同样生成一个usersinfo的类,在这个类中我们来添加自己的方法就命名为gets吧下面是代码:
{
public static List < usersinfo > gets()
{
DataClasses1DataContext dc = new DataClasses1DataContext();
var rt = (from t in dc.usersinfo
// 如果我们要以用户名或ID查找的话可以在where 后写明条件,这里是查询所有
// where t.uId == 参数
select t).ToList < userinfo > ();;
return rt;
}
}
这样返回的就是一个usersinfo表信息,查询就完成了。
三、删除操作我们可命名为deletes代码如下:
{
TCDataClassesDataContext tc = new TCDataClassesDataContext();
var rt = (from t in tc.userinfo
where t.uId == id
select t)First < userinfo > ();
tc.userinfo.DeleteOnSubmit(rt);
tc.SubmitChanges();
}
这样就完成了简单的删除任务。
四、修改
我们同样命名一个updates的修改方法,假如我们要把编号为id 的用户名更改为name1:
{
DataClasses1DataContext tc = new DataClasses1DataContext();
var user1 = (from t in tc.userinfo where t.uId == id
select t).First < userinfo > ();
user1.uName = namea;
tc.SubmitChanges();
}
五、添加
添加似乎和修改差不多,直接上代码:
{
DataClasses1DataContext dc = new DataClasses1DataContext();
userinfo u = new userinfo()
{
uName = name
};
dc.userinfo.InsertOnSubmit(u);
dc.SubmitChanges();
}
到此linq 的基本操作就完成了,其实里面有很多东西,本人水平有限,只能到这里了,有不足之处请指点。