c # odata (v4) - отчеты power bi: обнаружен неожиданный узел StartArray - PullRequest
0 голосов
/ 12 сентября 2018

Я пишу веб-API odata, следуя этому руководству Мой код почти такой же (некоторый код был удален для удобства чтения):

webapiconfig:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        ODataModelBuilder builder = new ODataConventionModelBuilder();
        builder.EntitySet<Delivery>("Versions");
        config.MapODataServiceRoute(
            routeName: "ODataRoute",
            routePrefix: null,
            model: builder.GetEdmModel());
    }
}

контроллер:

public class VersionsController : ApiController
{
    DeliveryContext db = new DeliveryContext();


    [EnableQuery]
    public IQueryable<Delivery> Get()
    {
        return db.deliveries;
    }

DeliveryContext

public partial class DeliveryContext : DbContext
{
    public DeliveryContext()
        : base("name=DeliveryContext")
    {
    }

    public virtual DbSet<Delivery> deliveries { get; set; }

}

Запуск GET от почтальона дает мне:

[{"number": - 1, "customer": "", "version": "", "othernumber": "", "identitynumber": ""}, {"number": 123, "customer": "i00000", "version": "8.5.2 "," othernumber ":" 564 "," identitynumber ":" 123 "}]

Моя проблема заключается в том, что при подключении к моему odataservice в Power BI он жалуется на:

DataSource.Error: OData: При чтении из программы чтения JSON обнаружен неожиданный узел 'StartArray'.Ожидался узел «StartObject».Подробности: DataSourceKind = OData DataSourcePath = http://localhost:51124/Versions

Наконец, почтальон GET к службе: { "@odata.context":"http://localhost:51124/odataservice/$metadata","value":[ { "name":"Versions","kind":"EntitySet","url":"Versions" } ] }

Любые предложения с благодарностью!

1 Ответ

0 голосов
/ 12 сентября 2018

Хорошо, я не решил свою собственную проблему, но у меня больше нет времени возиться с этим. Я вместо этого следовал этому гиду и заставил его работать за 10 минут. Следует отметить, что мне пришлось использовать пакет nuget beta 1.0.0 для его работы, в противном случае я получил ошибку для класса HttpConfiguration, не имеющего метода filter ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...