C# 将实体框架结果返回为JSON

C# 将实体框架结果返回为JSON,c#,json,linq,wcf-data-services,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

我希望以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;
}
public IEnumerable GetAllCallersF()
{
TestCDrenties1 context=this.CurrentDataSource;
变量查询=(
来自CurrentDataSource.TestTables中的oneCaller
选择新的
{
Created=oneCaller.Created,
已回答=一个来电者。已回答,
销毁=一个调用方。已销毁,
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_称为_G107MOS=oneCaller.RTP_称为_G107MOS,
RTP_Called_LostPackets=oneCaller.RTP_Called_LostPackets,
RTP_称为_MaxRfc3550Jitter=oneCaller.RTP_称为_MaxRfc3550Jitter,
RTP_称为_MeanRfc3550Jitter=oneCaller.RTP_称为_MeanRfc3550Jitter,
})托利斯先生()
.选择(x=>新呼叫者W
{
Created=Convert.ToDateTime(x.Created),
已应答=转换到当前时间(x已应答),
销毁=转换为ToDateTime(x.Destroyed),
CallerID=x.CallerID,
CalledID=x.CalledID,
DisconnectionCode=转换为32(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_称为_G107MOS=Convert.ToDouble(x.RTP_称为_G107MOS),
RTP_称为_LostPackets=Convert.ToDouble(x.RTP_称为_LostPackets),
RTP_称为_MaxRfc3550Jitter=Convert.ToDouble(x.RTP_称为_MaxRfc3550Jitter),
RTP_称为_MeanRfc3550Jitter=Convert.ToDouble(x.RTP_称为_MeanRfc3550Jitter)
}).ToList();
返回查询;
}
有人能帮我吗

添加到项目并序列化对象,例如:

string json = JsonConvert.SerializeObject(query);
更多示例。

20秒谷歌搜索: