【问题标题】:c# odata (v4) - power bi reports: an unexpected 'StartArray' node was foundc# odata (v4) - power bi 报告:发现意外的“StartArray”节点
【发布时间】:2018-09-12 11:51:40
【问题描述】:

我正在按照guide 编写一个 odata web api 我的代码几乎相同(为了便于阅读,删除了一些代码):

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"}]

我的问题是,当我在 Power BI 中连接到我的 odataservice 时,它​​会抱怨:

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" } ] }

非常感谢任何建议!

【问题讨论】:

    标签: c# odata powerbi


    【解决方案1】:

    好的,我没有解决我自己的问题,但我没有时间再搞砸了。 相反,我关注了这个guide 并在 10 分钟内让它工作。 需要注意的是,我必须使用 nuget beta 1.0.0 包才能工作,否则我会因为没有 filter() 方法的 HttpConfiguration 类出错。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-21
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 2019-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多