日期:2014-05-20  浏览次数:20683 次

linq to entity的问题
linq to entity 中能用NEWID()这种sql函数么?不能的话 该怎么随机获取一条数据?

------解决方案--------------------
可以这样
C# code

var query=   from rnd in new BackendDBContext().Categories 
                     orderby Guid.NewGuid() 
                     select  rnd;

------解决方案--------------------
Take() 方法是非延迟操作符
破坏了LINQ的延迟查询特性
------解决方案--------------------
探讨

引用:
可以这样

C# code


var query= from rnd in new BackendDBContext().Categories
orderby Guid.NewGuid()
select rnd;


你这样不是取出全部了么,如果我在加上.Take(1)的话这里的随机函数就没有作用了?为什么

SELECT TOP 1 ……