如何执行以下 Linq / Lambda 代码?

发布于 2024-10-01 13:00:53 字数 689 浏览 2 评论 0原文

注意:伪代码和假想法现场类/属性...以保护无辜

我正在尝试检索 Person 实例,其中该人有一个特定的名字...作为 IQueryable 结果。

给定以下代码...

public class Person
{
    public ICollection<PersonDetails> PersonDetails { get; set; }
}

public class PersonDetails
{
    public string Name { get; set; }
}

我如何检索名为 'Fred' 的 Person

我正在尝试(失败了)......

public static IQueryable<Person> WithName(this IQueryable<Person> value, 
                                          string name)
{
    return value.Where(x => x.PersonDetails.Where(y => y.Name == name));
}

并且无法编译。

有线索吗,偷看?

Note: pseduo code and fake-thought-up-on-the-spot classes/properties ... to protect the innocent

I'm trying to retrieve the Person instance, where the person has a particular name ... as an IQueryable result.

Given the following code...

public class Person
{
    public ICollection<PersonDetails> PersonDetails { get; set; }
}

public class PersonDetails
{
    public string Name { get; set; }
}

how can I retrieve a Person, who has the name 'Fred' ?

I was trying (which failed) ....

public static IQueryable<Person> WithName(this IQueryable<Person> value, 
                                          string name)
{
    return value.Where(x => x.PersonDetails.Where(y => y.Name == name));
}

.. and that doesn't compile.

Any clues, peeps?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沉默的熊 2024-10-08 13:00:53

尝试使用 Any 而不是第二个 Where

public static IQueryable<Person> WithName(this IQueryable<Person> value, 
                                          string name)
{
    return value.Where(x => x.PersonDetails.Any(y => y.Name == name));
}

Try Any instead of the second Where:

public static IQueryable<Person> WithName(this IQueryable<Person> value, 
                                          string name)
{
    return value.Where(x => x.PersonDetails.Any(y => y.Name == name));
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文