嗨,我对 Azure 移动应用程序和 Entity Framework 比较陌生,所以
我一直在努力解决以下问题。

我在 .net 中的 azure 移动应用程序上有以下模型:

public class Location : EntityData
{
     public ProximityRange ProximityRange { get; set; }
     public double Rssi { get; set; }
     public DateTime TimeOfLocation { get; set; }
}

其中 ProximityRange 只是其他两个属性的容器类
public class ProximityRange
{
     public double Distance { get; set; }

     public double Accuracy { get; set; }
}

Controller 具有通过查询获取所有位置的方法。
public IQueryable<Location> GetAllLocations()
{
   var query =  Query();
   return query;

}

但是当我调用 Controller 时,我只得到一个带有 TimeOfLocation 和 Rssi 的 JSON。

在实体 Location 的 DB 表中,我有 3 列
ProximityRange_Accuracy, ProximityRange_Distance and Rssi

我需要从 Controller GetAllLocations 中获取所有 3 个属性作为 JSON 对象。

我试过在查询中使用 $expand=ProximityRange 但抛出了一个内部错误。

我也尝试将 ProximityRange 声明为 ComplexType,但也没有运气。

非常感谢有人帮助。

最佳答案

您不能(毫无困难地)在 Azure 移动应用模型中使用复杂类型(如 DbGeography 或 ProximityRange)。 OData 转换不处理它们。

最好的想法是将其转换为字符串,然后实现 JSON 编码器/解码器。要查看的类是 JsonConverter

关于entity-framework - 从 Azure 移动应用程序获取具有嵌套复杂类型的模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38843628/

10-12 15:57