有两个类 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 就行了。求解~!
Sub和Parent 是加了 virture的吧,那就是延迟查询,不会被查出来 的,使用时会去查。
没加virture哦,况且我把DBContext的延迟加载设置为了false. 要么返回的时候 select new{...} 要么直接执行sql语句,不过这两种方式都不好啊。。 查询相关属性时很常见的,而且通常这样的查询只想要需要的几个字段,网上关于ef查询的 一搜就是 什么延迟加载 预先加载 什么的。。难道没人遇到过我这种问题?