首页新闻找找看学习计划

关于EF又有点迷惑了

0
悬赏园豆:20 [已解决问题] 解决于 2019-07-12 13:53
public Group
{
public List<Student> StudentList{get;set;}
}

表 Group:ID字段

表 Student:Group_ID字段

 

我插入一个Group的时候,数据插入到了Group表和Student表

但是我查询的时候只能查到Group表的数据,返回的Group的StudentList是空的,

我把

public List<Student> StudentList{get;set;}写成了虚的就能查到了,这是什么原理?写成虚的不是跟延迟加载,动态代理有关吗?怎么这跟查询数据有关了
猝不及防的主页 猝不及防 | 小虾三级 | 园豆:1129
提问于:2018-08-07 14:15
< >
分享
最佳答案
0

查询的时候调用include试试

收获园豆:7
通信的搞程序 | 小虾三级 |园豆:820 | 2018-08-08 08:46

大哥,厉害了,能给我说说 关于加不加导航属性(虚)有什么区别吗?

在我的印象中导航属性指示用来实现延迟加载的,我不加的话,奥,对,我得手动load是吗,所以得加,那为什么要用include呢,我延迟加载最后tolist不是应该都加载出来吗

猝不及防 | 园豆:1129 (小虾三级) | 2018-08-08 09:05

大哥我给你多加点分

猝不及防 | 园豆:1129 (小虾三级) | 2018-08-08 09:05
其他回答(3)
0

这种应该是用虚的,实质是数据库里面用join的一次关联查询

收获园豆:7
左眼水星 | 园豆:45 (初学一级) | 2018-08-07 17:52
0

不加导航属性  只查单表的 延迟加载啥的都没关系

收获园豆:6
Постой! | 园豆:809 (小虾三级) | 2018-08-08 15:52
0

1 属性设置为virtual
2 查询时加include,例如,ctx.Student.Include(t=>t.Course).First();
3 用状态查询时,例如,ctx.entity(studentInstance).Collection(t=>t.Course).state=EntityState.Modified;

猝不及防 | 园豆:1129 (小虾三级) | 2019-07-12 13:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册