我在寻找正确的语法来完成以下任务时遇到了一些麻烦:
是否可以使用 LINQ(Lambda 表达式)到 .GroupBy 数据,而不是使用通常的 .Sum() 或 .Count() 我希望结果数据是 Int 列表。
我定义了自己的类,名为: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_ID 列表:
以下 LINQ 查询应生成 Filter_ID 列表:
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+ http://d.pr/i/mnhq+(droplr 图像)
提前致谢,
格本
我认为问题是数据库无法在选择中调用ToList,也无法创建新的Filter_ID。
尝试这样的事情:
List<Filter_IDs> filterids = ef.filterLine.Select(o => new { objectType = o.objectType, object_id=o.object_id})
.GroupBy(fl => fl.objectType).ToList()
.Select(fl => new Filter_IDs { type = fl.Key, objects = fl.Select(x => x.object_id).ToList() })
.ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)