Ho un Api Web utilizzando odata v3, con alcune entità una chiave composta, come questo:odata v3 navigazione Web Api con chiave composita
public class AerodromoAdministracaoData
{
[Key]
[Column("idAerodromo", Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public short IdAerodromo { get; set; }
[Key]
[Column("data", Order = 1, TypeName = "date")]
public DateTime Data { get; set; }
public virtual Aerodromo Aerodromo { get; set; }
}
ho seguito this msdn article and created a NavigationRoutingConvention. L'applicazione gestisce ora le chiavi composite. Tuttavia, la navigazione Link come questo non funzionano:
http://localhost/WebApiV3/AerodromoAdministracaoData%28idAerodromo=1,data=%272014-10-24%27%29/Aerodromo
Continuo a ricevere un "no risorsa HTTP è stato trovato che corrisponde alla richiesta", come se il metodo non è stato attuato nel controller. Tra l'altro, questo è il metodo di controllo:
[EnableQuery]
public Aerodromo GetAerodromo([FromODataUri] short idAerodromo, [FromODataUri] DateTime data)
{
AerodromoAdministracaoData result = Store.AerodromoAdministracaoData.Find(idAerodromo, data);
if (result == null)
{
throw new HttpResponseException(new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.NotFound));
}
return result.Aerodromo;
}
ho found this question parlando esattamente lo stesso problema, ma non ho capito come Nikon gestito la questione.