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;}写成了虚的就能查到了,这是什么原理?写成虚的不是跟延迟加载,动态代理有关吗?怎么这跟查询数据有关了
查询的时候调用include试试
大哥,厉害了,能给我说说 关于加不加导航属性(虚)有什么区别吗?
在我的印象中导航属性指示用来实现延迟加载的,我不加的话,奥,对,我得手动load是吗,所以得加,那为什么要用include呢,我延迟加载最后tolist不是应该都加载出来吗
大哥我给你多加点分
这种应该是用虚的,实质是数据库里面用join的一次关联查询
不加导航属性 只查单表的 延迟加载啥的都没关系
1 属性设置为virtual
2 查询时加include,例如,ctx.Student.Include(t=>t.Course).First();
3 用状态查询时,例如,ctx.entity(studentInstance).Collection(t=>t.Course).state=EntityState.Modified;