从微风document这应该有效,但我不能让它适合我。
这是我的EF代码第一类:
public class Company
{
public int Id { get; set; }
public int? SectorId { get; set; }
public Sector Sector { get; set; }
}
public class Sector
{
public int Id { get; set; }
public string Name { get; set; }
}
在Breeze控制器中:
[HttpGet]
public IQueryable<Company> Companies()
{
return _repository.Context.Companies.Include("Sector");
}
我想这样做一个查询:
var query = breeze.EntityQuery.from("Companies").where("Sector.Name", "==", "Finance");
or
var query = breeze.EntityQuery.from("Companies").where("Sector", "any", "Name", "==", "Finance");
但是我收到了这个错误:
无法找到属性:扇区类型:公司
如果我改为小写,
var query = breeze.EntityQuery.from("Companies").where("sector.name", "==", "Finance");
or
var query = breeze.EntityQuery.from("Companies").where("sector", "any", "name", "==", "Finance");
我收到了这个错误:
undefined不是函数
我的问题是什么?我正在使用Breeze v.1.4.14。
答案 0 :(得分:0)
在Linq中尝试此查询:
[HttpGet]
public IQueryable<dynamic> Companies()
{
return _repository.Context.Companies.Select(a=>new
{
Company=a,
Sector=a.Sector
});
}
您错过了实体中的构造函数,现在可以检查它
部门实体:
public class Sector {
public sector(){
Companies=new Hashest<Company >();
}
public virtual ICollection<Company> Companies {get;set;}
}