今天做连连看效果,需要取随机数据,然后又学到了一招,真开心!具体实现如下:
SQL语句:
select * from tablename order by NEWID()
Linq to SQL:
在Linq to SQL(dbml文件)下的designer.cs文件中添加如下代码:
[Function(Name = "NEWID", IsComposable = true)]
public Guid NEWID()
{
return ((Guid)(this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod()))).ReturnValue));
}
生成DAL后,调用方法
int num=3;//要生成的随机记录数量
var query=db.TableName.OrderBy(b => db.NEWID()).Take(num);