首页新闻找找看学习计划

EF Include预先加载一个奇怪的问题求助!

0
悬赏园豆:5 [已关闭问题] 关闭于 2013-08-29 19:41

有两个类 Product Category

Product 中有个 Category的属性,表示该商品所属类别

Category中有

IConnection<Prodcut> Products{get;se;}  //商品集合

Category Parent{get;set;}  //父类

IConnection<Category> Sub{get;set;} //子类集合

 

我要查询一个商品列表,同时需要加载每个商品所属的类别,所以定义Linq语句如下

var query = db.Products.Include(l =>l.Category).ToList();

 

这样要求是达到了,但是有个问题就是Category里面的Sub和Parent属性也被查询了。

这个问题怎么处理呢? 其实最好的效果是只要活得 分类的ID 和Name 就行了。求解~!

变形精怪的主页 变形精怪 | 初学一级 | 园豆:5
提问于:2013-08-14 12:07
< >
分享
所有回答(1)
0

Sub和Parent 是加了 virture的吧,那就是延迟查询,不会被查出来 的,使用时会去查。

Qlin | 园豆:2403 (老鸟四级) | 2013-08-14 12:53

没加virture哦,况且我把DBContext的延迟加载设置为了false.  要么返回的时候 select new{...} 要么直接执行sql语句,不过这两种方式都不好啊。。 查询相关属性时很常见的,而且通常这样的查询只想要需要的几个字段,网上关于ef查询的 一搜就是 什么延迟加载 预先加载 什么的。。难道没人遇到过我这种问题?

支持(0) 反对(0) 变形精怪 | 园豆:5 (初学一级) | 2013-08-14 18:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册