zoukankan      html  css  js  c++  java
  • EF架构使用随机排序

    c#当中,可以用Random类来获取随机数

    EF当中,我们写Linq时,抑或是采用Linq的扩展方法时,发现都没有随机排序的方法,这就要求我们自己去扩展了

    引用自http://www.cnblogs.com/lori/p/3166899.html

    /// <summary>
        /// sql函数的扩展类
        /// </summary>
        public static class SqlFunctionExtensions
        {
            #region 功能方法
            /// <summary>
            /// 在linq to entity中使用SqlServer.NEWID函数
            /// </summary>
            [System.Data.Objects.DataClasses.EdmFunction("SqlServer", "NEWID")]
            public static Guid NewId()
            {
                return Guid.NewGuid();
            }
            #endregion
    
            #region 扩展方法
            /// <summary>
            /// 随机排序扩展方法
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="source"></param>
            /// <returns></returns>
            public static IQueryable<T> OrderByNewId<T>(this IEnumerable<T> source)
            {
                return source.AsQueryable().OrderBy(d => NewId());
            }
            #endregion
    
        }
    

      但是,这个方法方法有个缺点,如果是Linq查询未加载的IQueryable集合,则无效,必须先加载(用ToList或ToArray)后再随机排序

  • 相关阅读:
    VERSIONINFO Resource
    WCF 学习文摘
    hook 学习
    COM 学习
    ActiveX开发
    Word 开发资料集合
    Loops with PL/SQL
    TWain 在 Qt4 中的调用方法
    从 TWAIN 设备中扫描图像
    Qt enum使用总结
  • 原文地址:https://www.cnblogs.com/dazhuangtage/p/5300095.html
Copyright © 2011-2022 走看看