在 EF 4 中,我可以通过编写 sql 来预先加载导航属性吗DbContext.Database.SqlQuery
or DbContext.Set<T>().SqlQuery
?我似乎没有填充我的导航属性。
Edit
看来我可以使用 DbContext.Set().SqlQuery 进行预加载,但不能使用 DbContext.Database.SqlQuery。知道为什么吗?
DbSet.SqlQuery 的工作方式与 Database.SqlQuery 不同。 DbSet 上的方法适用于给定的实体集。它必须返回给定类型的实体,并且默认情况下将跟踪返回的实体。 Database.SqlQuery 可以返回任何对象(可能不是实体),并且返回的对象永远不会被上下文跟踪。您可能还想看看 msdn 来比较这两种方法:
数据库.SqlQuery -http://msdn.microsoft.com/en-us/library/gg679117(v=vs.103).aspx
DbSet.SqlQuery -http://msdn.microsoft.com/en-us/library/system.data.entity.dbset.sqlquery(v=VS.103).aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)