只说自己怎么使用NEWID()随机函数的,介于上一篇已经讨论了在MS SQL中怎么使用NEWID(),这里暂时不再讨论,言归正传,其实,在.NET中LINQ,其实就是把MSSQL数据库与面向对象思想深刻结合了起来,我本人理解为是ORM,对于ORM我没有深入的研究,只领会其中的思想吧,皮毛而也。惭愧哦,看来自己需要自学加深的东西还是很多的。
首先必须在DBML文件中添加如下代码,进行关系函数映射。实际上是在DBML后台代码文件进行代码添加,在DESIGNER.CS文件中,
代码
1 [Function(Name = "NEWID", IsComposable = true)]
2 public Guid NEWID()
3 {
4 return ((Guid)(this.ExecuteMethodCall(this,
5 ((MethodInfo)(MethodInfo.GetCurrentMethod()))).ReturnValue));
6 }
以上代码就是进行与MSSQL中的NEWID()系统函数进行映射
然后,在你的页面文件或者FORM文件的CODE FILE中进行调用,见下面CODE:
代码
private void bindGridview()
{
db = new NorthWindDataContext();
var result = (from c in db.Customers orderby db.NEWID() select c).Take(10);
GridView1.DataSource = result;
GridView1.DataBind();
}
以上就是怎么在LINQ中使用NEWID,记得,你在DBML代码文件中,自己生成的函数名称NEWID是大写的话,你自动调用的时候那肯定是大写的,这个自己定义,也不必同MSSQL中的NEWID同名,你可以写成 public Guid returnMssqlNewid()之类的,看你自己怎么灵活设置名称,而别人和自己以后阅读和调用方便。