通过创建自定义元数据定义并将其添加到微风实体管理器中,我已经成功地将微风连接到服务器上的自定义类型。
但是,我无法请求已在 javascript 中自定义的对象 (Employee) 并完全检索其关系。
换句话说,我有一个名为 Employee 的对象,它有一个名为“LoginStats”的属性,它是服务器上的一个 List 类型。当使用 Breeze 请求这个对象时,集合中只返回一个元素,而应该有 6 个。
$promise 的结果如下所示:
data.results[0].loginStats()[0] //object
data.results[0].loginStats()[1] //undefined
奇怪的是,如果我单独选择属性,例如 .select("LoginStats") 它会返回完整的数组中的 6 个项目。
我怎么可能在不使用微风调用拼出所有所需属性的情况下检索此对象?我尝试使用 .expand() 子句,但不幸的是,我们没有以某种方式连接到 EntityFramework 以使其工作。
提前致谢!
编辑:这是我使用“选择”语句与仅请求对象时的示例。这些图像还演示了当我选择所有属性时会发生什么,即它们都正确填写,但它们不再是可观察的。哎呀!
控制器代码:
[HttpGet]
public IQueryable<Employee> Get(string id)
{
var criterion = new Criterion<Employee, bool>(e => e.CustomerId == id);
var loginStatisticsExtendedProperty = new FillEmployeeLoginStatistics(_UserRoleProvider, _CustomerLoginStatsViewModelRepository);
var availableCompaniesForEmployess = new AvailableCompaniesForEmployess(_CompanyAffiliatesRepository);
return _EmployeeRepository.Find(criterion, loginStatisticsExtendedProperty, _EmployeeDetailsExtendedProperty, availableCompaniesForEmployess);
}