简体   繁体   English

将实体框架结果返回为JSON

[英]Return Entity Framework result as JSON

I want to get my linq query result back as json format. 我想将我的linq查询结果恢复为json格式。 I have been searching for hours. 我一直在找几个小时。

Here is my code : 这是我的代码:

public IEnumerable<callersW> GetAllCallersF()
{
  testCDREntities1 context = this.CurrentDataSource;
  var query = (
    from oneCaller in CurrentDataSource.TestTables
    select new
    {
      Created = oneCaller.Created,
      Answered = oneCaller.Answered,
      Destroyed = oneCaller.Destroyed,
      CallerID = oneCaller.CallerId,
      CalledID = oneCaller.CalledId,
      DisconnectionCode = oneCaller.DisconnectionCode,
      RTP_Caller_G107MOS = oneCaller.RTP_Caller_G107MOS,
      RTP_Caller_LostPackets = oneCaller.RTP_Caller_LostPackets,
      RTP_Caller_MaxRfc3550Jitter = oneCaller.RTP_Caller_MaxRfc3550Jitter,
      RTP_Caller_MeanRfc3550Jitter = oneCaller.RTP_Caller_MeanRfc3550Jitter,
      RTP_Called_G107MOS = oneCaller.RTP_Called_G107MOS,
      RTP_Called_LostPackets = oneCaller.RTP_Called_LostPackets,
      RTP_Called_MaxRfc3550Jitter = oneCaller.RTP_Called_MaxRfc3550Jitter,
      RTP_Called_MeanRfc3550Jitter = oneCaller.RTP_Called_MeanRfc3550Jitter,
    }).ToList()
    .Select(x => new callersW
    {
      Created = Convert.ToDateTime(x.Created),
      Answered = Convert.ToDateTime(x.Answered),
      Destroyed = Convert.ToDateTime(x.Destroyed),
      CallerID = x.CallerID,
      CalledID = x.CalledID,
      DisconnectionCode = Convert.ToInt32(x.DisconnectionCode),
      RTP_Caller_G107MOS = Convert.ToDouble(x.RTP_Caller_G107MOS),
      RTP_Caller_LostPackets = Convert.ToDouble(x.RTP_Caller_LostPackets),
      RTP_Caller_MaxRfc3550Jitter = Convert.ToDouble(x.RTP_Caller_MaxRfc3550Jitter),
      RTP_Caller_MeanRfc3550Jitter = Convert.ToDouble(x.RTP_Caller_MeanRfc3550Jitter),
      RTP_Called_G107MOS = Convert.ToDouble(x.RTP_Called_G107MOS),
      RTP_Called_LostPackets = Convert.ToDouble(x.RTP_Called_LostPackets),
      RTP_Called_MaxRfc3550Jitter = Convert.ToDouble(x.RTP_Called_MaxRfc3550Jitter),
      RTP_Called_MeanRfc3550Jitter = Convert.ToDouble(x.RTP_Called_MeanRfc3550Jitter)
    }).ToList();

  return  query;
}

Can somebody help me with this ? 有人可以帮我吗?

Add to your project JSON.NET and serialize object eg: 添加到您的项目JSON.NET并序列化对象,例如:

string json = JsonConvert.SerializeObject(query);

More examples here . 这里有更多示例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM