linq 显示迭代的相同记录的行?

cnh2zyt3  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(106)

我有一个简单的行查询

var areaList = _db.vwArea
            .OrderByDescending(q => q.Qualifier)
            .ThenBy(r => r.Id)
            .Take(topnareas.Value)
            .ToList();

字符串
然后

foreach (var record in areaList)
        {
            Debug.WriteLine(record.Area);
        }


在大约200个不同的区域中迭代。所有的身份证都不一样。
然而,我的输出看起来像:

AAAA
AAAA
AAAA
AAAA
BBBB
BBBB
BBBB
....


每个ID应该不同

AAAA
AAAB
AAAC
AAAD
....


它所拍摄的画面看起来不错。它返回应该返回的数据。
我错过了什么?

rryofs0p

rryofs0p1#

我想出来了虽然数据看起来都是正确的,但PK并没有沸腾。事实上,PK在基表中,但不在视图中,因此EF不知道PK是什么。当Linq在列表上交互时,直到我在模型中设置一个EntityKey,它才改变到下一条记录。当我这样做的时候,它开始像它应该的那样迭代。

相关问题