【发布时间】:2014-12-09 09:41:23
【问题描述】:
我有一个实体框架 6、数据库优先的模型,我在 BreezeController 后面查询它。我的问题是当我向控制器查询对象时,微风不会填充导航集合属性。它已定义,但它是空的。
这是服务器端(生成的)POCO 和 Breeze 控制器方法:
public partial class Inventory
{
public int Id { get; set; }
...
public virtual ICollection<InstrumentReading> InstrumentReadings { get; set; }
}
public partial class InstrumentReading
{
public int Id { get; set; }
...
public Nullable<int> InventoryId { get; set; }
}
[BreezeController]
public class BreezeController : ApiController
{
....
[HttpGet]
public IQueryable<Inventory> Inventories([FromUri] int id)
{
var data = _repository.Inventories(id);
return data;
}
}
这就是我在 javascript 中查询它所做的:
return EntityQuery.from('Inventories')
.expand('InstrumentReadings')
.withParameters({ id: id })
.toType('Inventory').using(self.manager)
.execute().then(querySucceeded, self._queryFailed);
function querySucceeded(data) {
var entity = data.results[0];
self.log('Retrieved [' + entityName + '] id ' + entity.id
+ ' from remote data source', entity, true);
return entity;
}
如果我在 FireBug 中查看对控制器调用的响应,一切都在那里,包括填充的导航属性:
但是为什么微风不能填充集合导航属性呢?
当我查看元数据存储时,据我所知,一切看起来都不错:
我真的不希望在检索库存后必须进行单独的往返来查询 InstrumentReadings。我认为微风应该为我做到这一点。
感谢您的帮助! 科里。
【问题讨论】:
标签: javascript breeze entity-framework-6