为什么IQueryable <string> .First()无法获得第一项?

时间:2016-12-16 03:22:00

标签: c# asp.net-mvc linq

我正在使用LINQ从db获取内容并将其放入ViewBag

ViewBag.ProcessNames = db.myTable.Select(o => o.ProcessName).Distinct();

ViewBag.ProcessNames项目为[0]="String1", [1]="String2", [3]="String3"

然后我使用First()获取ViewBag.ProcessNames中的第一个字符串,但它会向我返回String2

string temp = ((IQueryable<string>)ViewBag.ProcessNames).First();

如果我先将ViewBag.ProcessNames转换为List()First()将获得我想要的正确字符串String1

ViewBag.ProcessNames = db.myTable.Select(o => o.ProcessName).Distinct().ToList();
string temp = ((List<string>)ViewBag.ProcessNames).First();

为什么IQueryable<string>.First()无法获得第一个字符串?

0 个答案:

没有答案