mvc 两表连接和随机排序

来源:互联网 发布:软件职业生涯规划 编辑:程序博客网 时间:2024/05/21 23:34

mvc 两表连接:

前几天用mvc+ef做项目遇到一个问题:不知道怎么多表连接,想着应该有扩展方法,看到了join,然后就试了一下但是不知道里面的参数怎么写,我综合在网上查到的资料得出了下面的结论

List<student> list1 = rm.student.ToList();//相当于数据库中的一个表

List<score> list2 = rm.score.ToList();

var list3= list1.Join(list2,l1=>l1.sid,l2=>l2.sid,(l1,l2)=>new{l1.name,l2,score}).ToList();//第一个参数:另一个集合(表),第二个参数:第一个表中与第二个表中的某个字段相等的字段    (就是主键),第三个参数:第二个表中与第一个表主键相等的字段(外键),第四个参数:一个匿名对象,用来存储需要查询的字段,除了第一个参数,其他三个参数都需要用lambda表达式

这样两表连接就完成了


随机排序:

接着上边的例子  list3.OrderBy(a => Guid.NewGuid())//这个就是随机的排序,如果想要固定的数目就加个Take(n)

在sql里面的随机排序是:select top 3 * from student order by newid()

原创粉丝点击