【问题标题】:OData Expand Does Not Return Entity When Null为空时 OData 展开不返回实体
【发布时间】:2014-06-18 01:58:39
【问题描述】:

我对 odata 有疑问。当一个正在扩展的属性为空时,它会抛出一个异常,说它无法在它正在扩展的对象上找到一个属性(显然是因为它是空的)。

然后我将 Microsoft.Data.Edm 更新到 5.6.1,因为它说它已修复此问题。但是,如果实体中的任何扩展属性为空,此修复程序只会从返回的数据中删除所有实体。

有没有其他人遇到过这个问题并有解决方案。

【问题讨论】:

  • 会使用 ANY OData 关键字帮助吗?您能否发布您尝试使用的查询的示例。
  • 不,因为我仍然想返回数据,只是扩展属性为空

标签: c# odata


【解决方案1】:

你可以这样使用:

    private T HandleNull<T>(T entity) where T : class, new()
    {
        if (entity == null)
        {
            return new T();
        }
        return entity;
    }

用法:

return HandleNull(repo.Find(a => a.EmployeeId == key))

【讨论】:

  • 它是返回对象内部的扩展属性,为空
  • 好吧,对不起,我的错。不,这与 $expand 一起工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-28
  • 1970-01-01
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
  • 1970-01-01
  • 2018-12-28
相关资源
最近更新 更多