一、Linq中First和Single 的区别
First(): 找到符合条件的第一记录,就返回了,不管你后面还有多少数据
Single(): 先将记录都梳理一次,再找到符合自己要求的唯一记录(不能有多个,不然会出错的)。
二、Linq的使用方法
public class FruitDA { private DataClasses1DataContext Context; //Linq的对象 public FruitDA()//构造函数 { Context = new DataClasses1DataContext(); //Context实例化 相对于把所有数据查出来 } public List<Fruit> Select()//查询所有 { return Context.Fruit.ToList();//返回Fruit类的泛型集合 } public List<Fruit> selectbyname(string name)//根据name模糊查询----Linq的模糊查询 { return Context.Fruit.Where(r => r.Name.Contains(name)).ToList;//判断Name是否(Contains)包含name } public bool checkfruit(string user, string pwd)//验证用户名和密码 bool类--判断是否(true/false) { return Context.Fruit.Where(r => r.User == user && r.pwd == pwd).Count() > 0; //先判断是否有相同的数据,如果有数据的数量大于0,返回true;否则false } public Fruit select(string ids)//查询一条数据 { return Context.Fruit.Single(r => r.ids == ids);//根据主键查询一条数据---Single(单个);也可以用where } public void Insert(Fruit data)//添加 { return Context.Fruit.InsertOnSubmit(data); Context.SubmitChanges();//改动后提交到数据库 } public void Update(Fruit data)//修改 { //先查询,在修改 Fruit sdata = Context.Fruit.Where(r => r.Ids ==data.Ids).First();//查询筛选第一条数据(First) if (sdata != null)//修改 { sdata.Name = data.Name; sdata.Number = data.Number; //.... } Context.SubmitChanges();//改动后提交到数据库 } public void Delect(Fruit data)//删除 { return Context.Fruit.DeleteOnSubmit(data); Context.SubmitChanges();//改动后提交到数据库 } }