返回Linq查询中的附加列吗?
问题描述:
我有这样的Linq查询:返回Linq查询中的附加列吗?
var area = db.MyDbSet
.Where(s => s.langid == langid)
.GroupBy(s => s.Title)
.Select(g => new { Title = g.Key })
.Select(s => s.Title);
我想从同一个表中返回另一列,其名为:CodeId
。
我是noob Linq程序员,并且在C#中所有这些混杂的东西中都迷失了方向,所以我无法真正理解我该怎么做。
有人可以帮助我如何从相同的查询调用返回同一个表中的另一列吗?
答
这可能会帮助您:
var area = db.MyDbSet
.Where(s => s.langid == langid)
.GroupBy(s => s.Title)
.Select(g => new { Title = g.Key, CodeId = g.FirstOrDefault().CodeId });
+0
FirstOrDefault会做什么?只取一个值?但是当我键入s.CodeId时,我在下一行看不到CodeId。它在当前的情况下不存在。 – Vlad
+1
这里查询将按标题分组数据,groupby之后将返回该组的第一个CodeId。 –
就在这样的查询添加列:'。选择(G =>新{标题= g.Key,代码ID = g.propertyName}) ' – OmG