使用LINQ To Entities在Web服务中进行“随机”排序

时间:2010-06-01 11:28:24

标签: asp.net web-services linq-to-entities

早上好

现在我知道有一个理由要求这个,但是我的小脑袋无法绕过它。

我正在使用网络服务将数据传输到webp [年龄并且具有以下功能,目前为止从UUF1中提取数据:

 public string[] GetBuyer(string Memberkey)
        {
            try
            {
                WebService.EntitiesConnection buyer = new WebService.EntitiesConnection();

                return buyer.tblProducts
                        .Where(p => p.MemberId == Memberkey)
                        .OrderBy(p => p.UnitUserfield1)
                        .Select(p => p.UnitUserfield1)
                        .Distinct()
                        .ToArray();
            }
            catch (Exception)
            {
                return null;
            }
        }

这样可以正常工作并以奇怪的顺序提取数据。如果我期待A B C D E F的结果,它似乎正在返回A C E B D F.

有人可以用我的方式指出错误吗?

2 个答案:

答案 0 :(得分:1)

你的OrderBy最后,我之前看过LinqToSql,在Distinct之前使用OrderBy导致它生成没有OrderBy的SQL。

答案 1 :(得分:0)

Top,top man ...谢谢Ben。对于任何想要最终代码的人:

  return buyer.tblProducts 
.Where(p => p.MemberId == Memberkey) 
.Select(p => p.UnitUserfield1) 
.Distinct() 
.OrderBy(p => p) 
.ToArray();`
相关问题