只说自己怎么使用NEWID()随机函数的,介于上一篇已经讨论了在MS SQL中怎么使用NEWID(),这里暂时不再讨论,言归正传,其实,在.NET中LINQ,其实就是把MSSQL数据库与面向对象思想深刻结合了起来,我本人理解为是ORM,对于ORM我没有深入的研究,只领会其中的思想吧,皮毛而也。惭愧哦,看来自己需要自学加深的东西还是很多的。
首先必须在DBML文件中添加如下代码,进行关系函数映射。实际上是在DBML后台代码文件进行代码添加,在DESIGNER.CS文件中,
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1
[Function(Name
=
"
NEWID
"
, IsComposable
=
true
)]
2 public Guid NEWID()
3 {
4 return ((Guid)( this .ExecuteMethodCall( this ,
5 ((MethodInfo)(MethodInfo.GetCurrentMethod()))).ReturnValue));
6 }
2 public Guid NEWID()
3 {
4 return ((Guid)( this .ExecuteMethodCall( this ,
5 ((MethodInfo)(MethodInfo.GetCurrentMethod()))).ReturnValue));
6 }
以上代码就是进行与MSSQL中的NEWID()系统函数进行映射
然后,在你的页面文件或者FORM文件的CODE FILE中进行调用,见下面CODE:
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
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();
}
{
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()之类的,看你自己怎么灵活设置名称,而别人和自己以后阅读和调用方便。
此文就写到这里。希望大家进行多多的抛砖,呵呵。多多的交流。