2014-12-01 3 views
0

Я работаю над проектом Odata v4 и хочу вернуть поле из другой таблицы в свой результирующий набор.Как вернуть поле из другого объекта в Odata V4

Поэтому у меня есть 2 таблицы

счета: Id, Имя, Адрес, ColorCode,

продукта: Id, ACCOUNTID

AccountId внешний ключ отображается в Id в таблице счетов

У меня есть следующий частичный класс

public partial class Product 

    { 
     public string ColorCode { 
      get { return Account.ColorCode; } 
     } 

public DateTimeOffset? Edmcreated 
     { 
      get 
      { 
       return created ; 
      } 
     } 

    } 

И мой контроллер:

[EnableQuery(PageSize = 200)] 
    public IQueryable<Product > Get() 
    { 
     return _db. Product.AsQueryable(); 
    } 

Это возвращает данные из объекта данных о продукте, но я не могу показаться, чтобы получить поле ColorCode в наборе результатов.

Как можно достичь выше

+0

может открыть тип и динамическое свойство? http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/use-open-types-in-odata-v4 –

ответ

1

Пожалуйста, обратитесь к моему ответу на ваш другой вопрос: How to join 2 entities in Odata model builder

И кроме того, вам не нужно писать что-то конкретное для $expand и $select в запросе URL, упомянутый в этом ответе. Атрибут EnableQuery в ProductsController обрабатывает это для вас правильно.

Смежные вопросы