OData Expand在Null时不返回实体

本文关键字:返回 实体 Null Expand OData | 更新日期: 2023-09-27 18:01:23

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

我然后更新了Microsoft.Data.Edm到5.6.1,因为它说它已经修复了这个问题。但是,如果实体中的任何扩展属性为null,则修复只是从返回的数据中删除任何实体。

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

OData Expand在Null时不返回实体

你可以这样写:

    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))