【发布时间】:2016-11-18 21:34:40
【问题描述】:
我有以下型号:
public class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
[...]
public int OfficeId { get; set; }
public string OfficeInfo
{
get { return Office.Info; }
}
public Office Office { get; set; }
}
public class Office
{
public int OfficeId { get; set; }
public string Info { get; set; }
}
我在客户端有一个网格,我想用 Employee 实例提供哪些行,包括其中一列中的 OfficeInfo,所以我通过以下查询使用它:
"/odata/Employees?$expand=Office&$select=EmployeeId,Name,OfficeInfo"
我在 IEdmModel 中注册了两个实体:
private static IEdmModel GetEDMModel()
{
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Employee>("Employees");
builder.EntitySet<Office>("Offices");
[...]
}
我的 Get 操作如下所示:
[EnableQuery]
public IQueryable<Employees> Get()
{
[...]
}
但我不断收到此异常:
“在类型‘Xds.Entities.Employee’上找不到名为‘OfficeInfo’的属性”
我在这里错过了什么?
【问题讨论】:
-
我知道它不能回答你的问题,但有什么阻止你改用
Employee.Office.Info吗?
标签: c# asp.net-web-api odata