我正在使用带有自我追踪实体T4模板的EF4。
当我在实体页面上执行选择时(具有导航属性类别),如:
var page = (from p in context.Page select p).FirstOrDefault();
导航属性Category始终为null。
当我这样做的时候:
var page = (from p in context.Page.Include("Category") select p).FirstOrDefault();
已加载类别。
为什么我必须将include函数与硬编码字符串一起使用?当我访问导航属性时,是否不能让EF4自动加载导航属性?
或者这只适用于EntityObjects而不是STE?
答案 0 :(得分:1)
STE不支持延迟加载,只能通过context.LoadProperty。 POCO + EntityObject支持它。
.Include用于急切加载,希望此方法将被更改为支持lambda表达式而不是硬编码字符串。