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

一个简单的linq问题
select top 1 * from tt order by newid() 

TO:
 var resault =
                    (from p in db.tt orderby Guid.NewGuid() select new {couponNo = p.Coupon}).Take(1);


第一个问题:linq这么写是否正确
第二个问题:resault 返回什么类型?
------最佳解决方案--------------------
对不对 执行以下就知道了 

返回一个model
------其他解决方案--------------------
那样写没问题,完全可以
------其他解决方案--------------------
返回第一条记录,类型和记录类型相同。
------其他解决方案--------------------

var resault =(from p in db.tt orderby Guid.NewGuid() select new {couponNo = p.Coupon}).Take(1);


这么写没问题。随机取一条数据

返回匿名类型

------其他解决方案--------------------
var query = db.tt.OrderBy(x => Guid.NewGuid()).FirstOrDefault();
随机取一条记录