62,074
社区成员
发帖
与我相关
我的任务
分享
var user=db.User //我需要从User表里查询数据
.Where(m=>m.Name=="张三" && m.Age==18) //我需要从User表查询一个对象,这个对象我给他起一个临时的名字,暂且叫他m吧,我希望m的名字叫张三,并且年龄是18
.FirstOrDefault();//,但我不知道他是一个单体还是列表,因为我无法确认是不是只有一个符合条件的记录。这一句代表我需要查询结果的第一条记录,如果查不到就返回默认的null,
这是一个查询Student表中班级是乙班的lambda表达式。
var classYiStudents = db.Student.Where(m=>m.Class=="乙班").ToList();//我明确知道这个查询结果肯定是一个列表,于是使用ToList()。
然后LinQ写起来就更类似Sql语句一些,比如还是查询User表中姓名是张三,年龄是18岁的记录。
var user=from u in db.User
where u.Name=="张三" && u.Age ==18 //从User表中查询数据,并且给User表取一个别名叫u,后面就用u来替代db.User,然后就是一个where语句了,和Sql语句中的where语句是一样的。
select new
{
NewName = u.Name,
u.Age
}
//User表中可能还有其他的字段比如Id,Class等等,在本次查询中我们不需要用到,所以select语句和sql语句中的select的功能是一样的,都是选取中你需要的字段,在select new中你可以把原字段在重新命名,比如将u的Name字段重命名成NewName
foreach(var m in db.TbUsers)
{
if(m.UserName == "Admin")
{
找到了我要的记录;
}
}
够明白了吧
3、List<string> userList = query.ToList();
==>
List<string> userList = query.Select(r=>r.UserName).ToList();
4、和sql类似,用join,自己搜索linq join
5、linq写法,uu是字段
对了,我4、里提到的join,人家这个例子就是join
另外,我3、里写的也是linq,5、这种也是,两种格式