OData-запрос выдает ошибку для запроса $ expand - PullRequest
0 голосов
/ 22 февраля 2019

Есть две таблицы «Задача» и «Клиент».Обе эти таблицы связаны с ClientId (внешний ключ).

В этом запросе я пытаюсь получить имя клиента на основе ClientId из таблицы Task с ключевым словом $ expand.Ниже приведен запрос и классы сущностей.

Запрос 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. "

Любая помощь будет принята.

1 Ответ

0 голосов
/ 22 февраля 2019

Нам нужно включить атрибуты привязки модели OData, которые вы можете сделать глобально с помощью средней строки в следующем блоке (файл WebApiConfig.cs)

ODataModelBuilder builder = new ODataConventionModelBuilder();
config.Count().Filter().OrderBy().Expand().Select().MaxTop(null); //new line
builder.EntitySet<DB.Project>("Projects");
...