EF6 C# Join 没有得到预期的结果

问题描述 投票:0回答:1

我有两个表,一个称为配置文件,另一个称为工具。 它们以一对多的条件连接。即一个配置文件可以有多个工具,并且这些工具有一个包含配置文件 ID 的列。

使用 C# 我想要一个配置文件列表,列表中还有一个加入该配置文件的工具列表。

(个人资料)列表

---工具列表,它是配置文件的子列表。

我正在使用以下代码:

var _profiles = _ve.tbl_profiles
                .Join(_ve.tbl_tools,
                    _p => _p.clm_profile_id,
                    _t => _t.clm_tool_profile_id,
                    (_p, _t) => new { _p, _t })
                .OrderBy(i =>i._p.clm_profile_name).ToList();

我拥有的测试数据是我有2个配置文件,其中1个只有1个工具,另一个有2个工具。

我只得到工具列表。 我如何更改代码以便获得我想要的数据。好像我就在附近,但有一些东西我没有看到

c# entity-framework entity-framework-6
1个回答
0
投票

正如@Alexander Petrov 在评论中提到的。可以使用简单的属性导航来轻松访问它,因为它已经从数据库连接,无需手动连接。

因此要从表中获取数据,请使用:

 List<tbl_profiles> _profiles = _ve.tbl_profiles.OrderBy(i =>i.clm_profile_name).ToList();

然后迭代或执行任何其他所需的操作:

_profiles.tbl_tools ... 

再次感谢@Alexander Petrov! 希望这对任何人都有帮助

© www.soinside.com 2019 - 2024. All rights reserved.