我在寻找正确的语法来实现以下操作时遇到了一些麻烦:
使用LINQ(Lambda表达式),是否可以通过.GroupBy数据,而不是使用通常的.Sum()或.Count(),将结果数据作为Int类型的List返回。
我定义了自己的类Filter_IDs。它的构造函数需要两个参数:
public int? type; // Represents the object_type column from my database
public List<int?> objects; // Represents the object_id column from my database
我希望从我的数据库中加载数据到这个对象中。下面的LINQ查询应该返回一个Filter_IDs列表:
下面的LINQ查询应该返回一个Filter_IDs列表:
List<Filter_IDs> filterids = ef.filterLine
.GroupBy(fl => fl.objectType)
.Select(fl => new Filter_IDs { type = fl.Key, objects = fl.Select(x => x.object_id).ToList() })
.ToList();
使用这个查询不会出现构建错误,但在运行时会出现“NotSupportedException”的错误。
为了更好地理解数据,数据库如下图所示: http://d.pr/i/mnhq+ (droplr image)
谢谢, Gerben
ef.filterLine.ToList()
,会起作用吗? - Jon B