从 Azure 移动应用获取具有嵌套复杂类型的模型
Getting Model with nested complex types from Azure Mobile Apps
您好,我对 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 只是其他两个属性的容器 class
public class ProximityRange
{
public double Distance { get; set; }
public double Accuracy { get; set; }
}
控制器有一个通过查询获取所有位置的方法。
public IQueryable<Location> GetAllLocations()
{
var query = Query();
return query;
}
但是当我调用控制器时,我只得到一个带有 TimeOfLocation 和 Rssi 的 JSON。
在实体位置的数据库 table 中,我有 3 列
ProximityRange_Accuracy, ProximityRange_Distance and Rssi
我需要从控制器 GetAllLocations 获取所有 3 个属性作为 JSON 对象。
我试过在查询中使用 $expand=ProximityRange 但抛出了一个内部错误。
我也试过将 ProximityRange 声明为 ComplexType,但也不成功。
非常感谢有人的帮助。
您不能(毫无困难地)在 Azure 移动应用程序模型中使用复杂类型(如 DbGeography 或您的 ProximityRange)。 OData 翻译不处理它们。
最好的办法是将其转换为字符串,然后实现 JSON encoder/decoder。要查看的 class 是 JsonConverter
您好,我对 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 只是其他两个属性的容器 class
public class ProximityRange
{
public double Distance { get; set; }
public double Accuracy { get; set; }
}
控制器有一个通过查询获取所有位置的方法。
public IQueryable<Location> GetAllLocations()
{
var query = Query();
return query;
}
但是当我调用控制器时,我只得到一个带有 TimeOfLocation 和 Rssi 的 JSON。
在实体位置的数据库 table 中,我有 3 列
ProximityRange_Accuracy, ProximityRange_Distance and Rssi
我需要从控制器 GetAllLocations 获取所有 3 个属性作为 JSON 对象。
我试过在查询中使用 $expand=ProximityRange 但抛出了一个内部错误。
我也试过将 ProximityRange 声明为 ComplexType,但也不成功。
非常感谢有人的帮助。
您不能(毫无困难地)在 Azure 移动应用程序模型中使用复杂类型(如 DbGeography 或您的 ProximityRange)。 OData 翻译不处理它们。
最好的办法是将其转换为字符串,然后实现 JSON encoder/decoder。要查看的 class 是 JsonConverter