环境:
考虑以下课程Account
,Activity
和User
。我们称之为一个简单的CRM场景,用户在其投资组合中为帐户创建销售活动。
public class Account
{
public int Id {get; set;}
public ICollection<Activity> Activities {get; set;}
}
public class Activity
{
public int Id {get; set;}
public DateTime ActivityDate {get; set;}
public int AccountId {get; set;}
[ForeignKey("AccountId")]
public Account Account {get; set;}
public int CreatedById {get; set;}
[ForeignKey("CreatedById ")]
public User CreatedBy {get; set;}
}
public class User
{
public int Id {get; set;}
public string Name {get; set;}
}
我正在努力编写一个微风查询,在检索Account
时,会扩展相关的Activity
实体,以便向我提供进入活动的用户的Name
。
以下查询有效,但每个活动实体的createdBy属性始终为null:
var query = breeze.EntityQuery
.from("getAccount")
.withParameters({ id: id })
.expand("Activities");
阅读导航属性的breeze文档:http://www.breezejs.com/documentation/navigation-properties,这似乎接近“OrderDetails.Product”场景,所以我重新编写了如下查询:
此查询在执行时抛出异常。
var query = breeze.EntityQuery
.from("getAccount")
.withParameters({ id: id })
.expand("Activities.CreatedBy");