因为自己项目里自动生成的.desingner文件老是报错..所以上网找到了一篇关于LINQ通过视图实现数据库随机取数的文章..
第一步: 创建视图
- create view View_QuestionRandom as select q.*,newid() as r from Questions as q
- 第二步:将视图添加进实体中
- 第三步:使用LINQ查询
- db.View_QuestionRandom.OrderBy(n => n.r).Take(10)
- 或
- (from s in db.View_QuestionRandom orderby s.r).Take(10)
-
- 这里使用OrderBy(n=>n.r) orderby s.r 相当于查询的orderby newId(),这个方法很巧妙,便是查询出来的数据会有冗余(r).