entity-framework – 使用Azure移动应用程序中的嵌套复杂类型获取模型

嗨,我对Azure移动应用程序和实体框架相对较新

以下我一直在努力奋斗一段时间.

我在.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; }
}

控制器有一种通过查询获取所有位置的方法.

public IQueryable<Location> GetAllLocations()
{
   var query =  Query();
   return query;

}

但是当我调用控制器时,我只得到一个带有TimeOfLocation和Rssi的JSON.

在实体位置的DB表中,我有3列

ProximityRange_Accuracy, ProximityRange_Distance and Rssi

我需要从控制器GetAllLocations获取所有3个属性作为JSON对象.

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

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

非常感谢有人的帮助.

最佳答案 您不能(没有困难)在Azure Mobile Apps模型中使用复杂类型(如DbGeography或ProximityRange). OData翻译不涉及它们.

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

点赞