实体框架-包含多级属性我正在尝试使用实体框架从数据库中获取表。该表引用另一个表,该表又引用其他表。我知道如何包括其他表格。并根据这个答案和这个MSDN页面来包括这样的多个级别:entity.TableLevel1.Include(tLvl1=>tLvl1.TableLevel2.Select(tLvl2=>tLvl2.TableLevel3));但我的问题是,如何在第3级包含另一个表时执行此操作?这似乎不起作用:entity.TableLevel1.Include(tLvl1=>tLvl1.TableLevel2.Select(tLvl2=>tLvl2.TableLevel3).Select(tLvl2=>tLvl2.AnotherTableLevel3);添加另一个包含调用:entity.TableLevel1。Include(tLvl1=>tLvl1.TableLevel2.Select(tLvl2=>tLvl2.TableLevel3)).Include(tLvl1=>tLvl1.TableLevel2.Select(tLvl2=>tLvl2.AnotherTableLevel3));如果你想同时加载相关实体级别,然后应该为每个实体调用Include扩展方法。您可以进行多次Include()调用:entity.TableLevel1.Include(t1=>t1.TableLevel2);entity.TableLevel1.Include(t1=>t1.TableLevel2.Select(t2=>t2.TableLevel3));实体。TableLevel1.Include(t1=>t1.TableLevel2.Select(t2=>t2.AnotherTableLevel3));或entity.TableLevel1.Include("TableLevel2");entity.TableLevel1.Include("TableLevel2.TableLevel3");entity.TableLevel1.Include("TableLevel2.AnotherTableLevel3");但是你可以将导航属性标记为虚拟,它会被延迟加载,这样你就不需要调用Include():所有内容,如果它对你有用并且你需要了解更多C#学习教程,希望大家多多关注——classTableLevel1{publicvirtualTableLevel2TableLevel2{get;放;}}classTableLevel2{publicvirtualTableLevel3TableLevel3{get;放;}publicvirtualTableLevel3AnotherTableLevel3{get;放;}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
