gpt4 book ai didi

c# - linq 按对象分组

转载 作者:行者123 更新时间:2023-12-03 05:04:05 24 4
gpt4 key购买 nike

我有一个对象,其中包含另一个对象的列表,如下所示:

    class cl
{
List<a> a ;
public List<a> listofA
{
get; set;
}
}

class a
{
//other properties
string comment ;
public string comment
{
get; set;
}
}

现在我如何进行 linq 查询来查看注释是否是某个字符串,这是我的查询:

  var query = (from c in scope.Extent<cl>()
where c.Date >= dateFrom && c.Date < dateTo
&& c.Actions.Where(a => (a.comment== "") )
orderby c.Date.Value.Date
group c by c.Date.Value.Date into grpDate
select new { grpDate.Key, items = grpDate });

但我收到错误消息:

Error   15  Operator '&&' cannot be applied to operands of type 'bool' and 'System.Collections.Generic.IEnumerable<>
Error 13 Cannot convert lambda expression to type 'string' because it is not a delegate type

最佳答案

问题是您正在使用 c.Actions.Where 。这将返回 IEnumerable<T> ,不是bool ,但是您正在检查需要 bool 值的 where 子句。

您很可能可以通过使用Any来解决这个问题而不是Where :

 var query = (from c in scope.Extent<cl>()
where c.Date >= dateFrom && c.Date < dateTo
&& c.Actions.Any(a => (a.comment== "") )
orderby c.Date.Value.Date
group c by c.Date.Value.Date into grpDate
select new { grpDate.Key, items = grpDate });

关于c# - linq 按对象分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13403483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com