c# - 以 JSON 形式返回 Entity Framework 结果

标签 c# json linq wcf-data-services

我想以 json 格式获取 linq 查询结果。我已经找了好几个小时了。

这是我的代码:

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;
}

有人可以帮我解决这个问题吗?

最佳答案

添加到您的项目JSON.NET并序列化对象,例如:

string json = JsonConvert.SerializeObject(query);

更多示例 here .

关于c# - 以 JSON 形式返回 Entity Framework 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36471282/

相关文章:

c# - 可供 Windows Phone 开发人员使用的传感器命名空间之间有什么区别?

c# - Azure Blob 存储将元数据从上传传递到 Blob 触发器

c# - 按其属性的属性值对 PropertyInfos 列表进行排序

c# - Visual Studio 2013 创建 Web API 项目时出错 : The element <#text> beneath element <Project> is unrecognized

c# - 无法加载文件或程序集“MySql.Web”

javascript - 如何根据公共(public)键值减少对象数组?

json - 从 PowerShell 编辑 Windows 终端配置文件设置 JSON

python - 如何向 JSON 数组中的每个对象添加新的键值对

C# - 如果其他变量不为空,则仅设置变量的值

c# - 避免在 xml 文件中重复输入 c#