c# - How to display data from many-to-many relationship using odata $expand? -
i have few database tables of them have many-to-many relationships. i'm using webapi , odata fetch data database. instance:
tablea ---> tableb (one one) tablea ---> tablec (one one) tablea ---> tabled (one one) tablee --> tabled ---> table f (many-to-many)
now, since i'm using odata controller, can use /odata/claims?$expand=tablea,tableb,tablec,tabled
displays data expected. however, can't display data tablee
, tablef
using id's tabled
. i'm not sure code show you, here's get
method
[enablequery(allowedqueryoptions = system.web.odata.query.allowedqueryoptions.all)] public iqueryable<tablea> get() { return dbcontext.deniedclaims.asqueryable(); }
is there way can show data tablee , tablef in same query using odata?
this how data shows when $expand
{ "@odata.context":"http://localhost:58891/odata/$metadata#tablea","value":[ { // values, "id": 1, // blah blah "tableb":{ "id":1,"firstname":"test","lastname":"test", },"tablec":{ "id":1, },"tabled":{ "id":1,"tableerefid":1,"tablefrefid":1 } } }
note tabled
, instead of displaying me tableerefid
, tablefrefid
, want see values in tablee
, tablef
.
how can this?
if understand data model correctly, want inline expansion more 1 level deep. assuming tabled
entity type has navigation properties named tablee
, tablef
, append nested $expand
option tabled
follows:
$expand=tableb,tablec,tabled($expand=tablee,tablef)
Comments
Post a Comment