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