有两个表“任务”和“客户端”。这两个表都与ClientId(外键)相关。
在此查询中,我尝试使用$ expand关键字从Task表中获取基于ClientId的客户端名称。下面是查询和实体类。
OData查询:http://localhost:52484/Task?$ expand = Client($ select = Name)
public class Task: GeneralTask
{
public Task() { }
public Task(
int clientId,
string title,
)
{
this.Title = title;
this.ClientId = clientId;
}
}
public abstract class GeneralTask
{
protected GeneralTask()
{
}
public string Title { get; set; }
public int ClientId { get; set; }
public virtual Client Client { get; set; }
}
但是我收到以下错误。
错误消息:“ URI中指定的查询无效。$ expand查询选项中不能使用属性'Client'。”
任何帮助将不胜感激。
答案 0 :(得分:0)
我们需要启用OData模型绑定属性,您可以在以下代码块(WebApiConfig.cs文件)的中间行全局进行操作
ODataModelBuilder builder = new ODataConventionModelBuilder();
config.Count().Filter().OrderBy().Expand().Select().MaxTop(null); //new line
builder.EntitySet<DB.Project>("Projects");