努力使用 .ToList() 返回 EntitySet<...>,而不是 IList<...>

发布于 2024-07-15 07:05:43 字数 655 浏览 7 评论 0 原文

我正在尝试从对象层次结构中深几层的集合中检索 Id 列表。 当我尝试执行 ToList() 时,我不断检索到 EntityList .. 这意味着它不允许我检索实例的 BarId 属性,因为 EntitySet 是一个 Enumerable,而不是单个实例对象。

Foo.Child1 (1 to 1)
Child1.Children2 (0 to many of type Bar)
Bar.BarId int;

IList<Foo> fooList = (from blah blah blah).ToList();

var children2List = (from x in fooList
select x.Child1.Children2).ToList();

它不断将 children2List 作为 EntitySet 返回,而不是 IList。 因此,我正在努力从 children2List 检索 BarId 列表。

请帮忙!

I'm trying to retrieve a list of Id's from a collection that is a few levels deep in an object heirachy. When i try to do a ToList(), I keep getting an EntityList<> retrieved instead .. which means it's not allowing me to retrieve an instance's BarId property because the EntitySet is a Enumerable, not a single instance object.

Foo.Child1 (1 to 1)
Child1.Children2 (0 to many of type Bar)
Bar.BarId int;

IList<Foo> fooList = (from blah blah blah).ToList();

var children2List = (from x in fooList
select x.Child1.Children2).ToList();

It keeps returning children2List as an EntitySet<Bar>, not an IList<Bar>. As such, i'm struggling to retrieve the list of BarId's from children2List.

please help!

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

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

发布评论

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

评论(3

天冷不及心凉 2024-07-22 07:05:43

您可以使用:

var children2List = fooList.SelectMany( x => x.Child1.Children2 ).ToList();

这将允许您执行以下操作:

children2List.ForEach( b => b.BarId.Print() );

Your can use:

var children2List = fooList.SelectMany( x => x.Child1.Children2 ).ToList();

This will allow you to do something like:

children2List.ForEach( b => b.BarId.Print() );
菩提树下叶撕阳。 2024-07-22 07:05:43

在查询中,您将整个结果转换为列表,而不是单个 Children2 集。
试试

var children2List = (from x in fooList
select x.Child1.Children2.ToList()).ToList();

这个会将每个 Children2 变成一个列表。

In your query, you turn the whole result into a list, not the individual Children2 sets.
Try

var children2List = (from x in fooList
select x.Child1.Children2.ToList()).ToList();

This will turn each Children2 into a List.

究竟谁懂我的在乎 2024-07-22 07:05:43

EntitySet 实现 IList,因此您已经返回 IList

EntitySet<T> implements IList<T>, so you already are returning IList<Bar>.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文