Linq to entities Linq To Entity::下面的代码在做什么?

Linq to entities Linq To Entity::下面的代码在做什么?,linq-to-entities,Linq To Entities,我正在运行此查询,但我不确定它获取的是什么 var sm = pe.Categories.Include("ParentCategory").Where(c => c.ParentCategory.CategoryName == "Electronics"); 变量sm将有哪些内容???编辑-您需要删除Include语句。LINQtoEntities将允许您访问实体的属性,而不必包含它们 var sm = pe.Categories .Where(c => c

我正在运行此查询,但我不确定它获取的是什么

var sm = pe.Categories.Include("ParentCategory").Where(c => c.ParentCategory.CategoryName == "Electronics");

变量sm将有哪些内容???

编辑-您需要删除
Include
语句。LINQtoEntities将允许您访问实体的属性,而不必包含它们

var sm = pe.Categories
           .Where(c => c.ParentCategory.CategoryName == "Electronics"); 
  • sm
    将是类型类别的
    IQueryable

  • 它将包含其父类别Category名称为“Electronics”的类别

  • 每个Category都将为您预加载其ParentCategory


这应该像你期望的那样工作。添加Include会预加载指定的实体。

谢谢……但我不希望预加载ParentCategory。我只想要那些父母是“电子产品”的类别。那我该怎么办?@Pankaj Upadhyay-我更新了答案。您只需要删除Include语句谢谢,伙计,实际上我对这种语法有点陌生。这就是他们所说的Linq方法语法。是的,这是方法语法,查询语法应该是:var sm=from c in pe.Categories其中c.ParentCategory.CategoryName==“Electronics”选择c;嗯……这就是……我对include有点困惑,不想预加载ParentCategory:-)。。谢谢
var sm = pe.Categories
           .Where(c => c.ParentCategory.CategoryName == "Electronics");