Linq随机读取数据浅析

学习Linq时,经常会遇到Linq随机读取数据问题,这里将介绍Linq随机读取数据问题的解决方法

Linq随机读取数据

在系统自由生成的o/p mapping代码中添加这个方法,如果是用户自己编写的(或是工具生成的)o/p mapping代码也是同理。这里我就说下我自己的。系统生成的LINQ To Sql类会产生三个文件.Northwind.cs、Northwind.dbml.layout、Northwind.designer.cs

我们要做的就是在Northwind.designer.cs中去添加我们需要的方法NEWID(),这个方法的功能当然就是和数据库当中的NEWID()是功能一致的。

具体的方法法代码如下:

  1. [System.Data.Linq.Mapping.DatabaseAttribute(Name="Northwind")]  
  2. public partial class NorthwindDataContext : System.Data.Linq.DataContext  
  3. {  
  4.  
  5. private static System.Data.Linq.Mapping.
    MappingSource mappingSource = new AttributeMappingSource();  
  6. //在自动生成的mapping code中添加  
  7. [Function(Name = "NEWID", IsComposable = true)]  
  8. public Guid NEWID()  
  9. {  
  10. return ((Guid)(this.ExecuteMethodCall(this,
    ((MethodInfo)(MethodInfo.GetCurrentMethod()))).ReturnValue));  
  11. }  
  12. //后面的生成代码略..
 

重新生成,编写好这个,我们的访问实现就变的很容易了,其使用方式和传统访问原理一致。

  1. db = new NorthwindDataContext();  
  2. var result = (from c in db.Customers orderby db.NEWID() select c).Take(10);  
  3.  
  4. foreach (var item in result)  
  5. Console.WriteLine(item.CompanyName);  
  6.  
  7. Console.ReadLine();
 

以上介绍Linq随机读取数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值