首页 新闻 搜索 专区 学院

linq firstordefault 返回不是第一个值

0
悬赏园豆:100 [已解决问题] 解决于 2011-11-15 09:45

public bool WetherTaskComplete(string taskID, string userID)
        {
            var var = (from p in this.ObjectContext.TASK
                       from q in this.ObjectContext.TASKASSIGN
                       where (p.ID == q.ID || p.WORKID == q.ID) && p.ID == taskID
                       orderby q.ASSIGNERTIME
                       select q.ASSIGNERID).Distinct();
            string id = var.firstordefault();

            bool var1 = id.Equals(userID);
            return var1;
        }

为什么id值不是第一值,而是第二个值,有时候可以返回第一个值,有时候不能返回第一个值。

chenchunyong的主页 chenchunyong | 初学一级 | 园豆:5
提问于:2011-08-01 15:19
< >
分享
最佳答案
0

要么排序,要么就直接用bool 别让它推断了

收获园豆:60
郭凯 | 初学一级 |园豆:125 | 2011-08-03 12:45
其他回答(2)
0

因为你没有对数据进行order.从数据库中取出来的数据是乱序的,有时候是1,2,有时候是2,1.

收获园豆:20
LoveJenny | 园豆:532 (小虾三级) | 2011-08-02 06:03
我有根据时间进行排序的。。。。你的回答有点模糊,能不能具体说清楚点
支持(0) 反对(0) chenchunyong | 园豆:5 (初学一级) | 2011-08-02 10:26
并且我也有对var进行监控,我发现我要的值就是排在第一个。
支持(0) 反对(0) chenchunyong | 园豆:5 (初学一级) | 2011-08-02 10:27
0

ASSIGNERTIME這個字段有相同的數據,所以建議再對主鍵也orderby

收获园豆:20
田想兵 | 园豆:244 (菜鸟二级) | 2011-08-02 10:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册