我一直试图让它工作很长一段时间,但仍然没有成功......
我有以下模型:
public class Master
{
[Key]
public int Id { get; set; }
public int UserId { get; set; }
public int Month { get; set; }
public int Year { get; set; }
public int Version { get; set; }
public ICollection<Detail> DetailsList { get; set; }
}
public class Detail
{
[Key]
public int Id { get; set; }
public string Description { get; set; }
public decimal Amount { get; set; }
public string Notes { get; set; }
}
我的控制器如下所示:
...
[HttpGet]
public string Metadata()
{
return _contextProvider.Metadata();
}
[HttpGet]
public IQueryable<Master> Masters()
{
return _contextProvider.Context.Masters.Include("DetailsList");
}
...
在客户端,我有这样的查询:
...
var query = EntityQuery.from('Masters').expand("DetailsList");
return manager.executeQuery(query)
.then(querySucceeded)
.fail(queryFailed);
function querySucceeded(data) {
var master = data.results[0];
if (masterObservable) {
masterObservable(master);
}
}
...
我遇到的问题是 DetailsList 属性在主对象中不存在,即使我可以在从服务器返回的 JSON 中看到它。如果我在微风中设置 hasServerMetadata: true 。DataService 该对象将具有该属性,但显然它不再使用元数据。这段代码过去在 1.1.3 版中运行良好,但自从我升级到 1.4.0 后它不再运行。我也尝试了 1.4.1,但没有运气。我假设它与元数据有关,但我无法弄清楚我缺少什么才能让它再次工作。