我正在尝试使用 linq to sql强烈键入3 个 ef 对象的查询。产品和类别之间存在一对多的关系。我的类包含导航属性,看起来像这样。
public partial class Product
{
public int ID {get;set;}
public string Name {get;set;}
public virtual ICollection<Group> NpGroup {get;set;}
}
public partial class Category
{
public int ID {get;set;}
public string Name {get;set;}
public virtual ICollection<Group> NpGroup {get;set;}
}
public partial class Group
{
public int ID {get;set;}
public int ProductID {get;set;}
public int CategoryID {get;set;}
public virtual Product NpProduct {get;set;}
public virtual Category NpCategory {get;set;}
}
试图避免基于字符串的 .Include(),我将如何构造一个返回等于 ProductID“1”但还包括产品名称和类别名称的查询?
就像是:
var context = ObjectContext.CurrentObjectContext;
var query = from c in context.Group
where c.ProductID == 1
//Include the names of the product and category of the group record (c.NpProduct.Name etc.)
select c;
我可能错过了穿过森林的树木,但我似乎无法获得 ObjectContext.LoadProperty 的语法(如果这是正确的方法)。
有什么想法吗?谢谢。