2013-03-10 26 views
0

我花了最近幾天試圖讀取和測試各種方法在實體框架內的實體中獲取屬性(列)並從中檢索平均值,然後傳遞給JSON。我已經接近幾次但總是失敗。最後,當我有JSON時,我想以縮進的格式將其返回,以便在JQuery可視化庫中使用。從實體框架縮進JSON

我的控制器是在這裏:

public virtual JsonResult GetData() 
    { 
     var result = new FactSurveryResultsQueries().GetAverages(); 
     return new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = result }; 
    } 

這裏是我的視圖模型:

namespace Provider.Models 
{ 
    public class FactSurveyResultsViewModel //: BaseGraphViewModel 
    { 
     public FactSurveyResultsViewModel() { } 
     //public List<KPIUserControl> customerSatisfactionChart = new List<KPIUserControl>(); 
     ////public List<string> customerSatisfactionChart = new List<string>(); 
     //public Dictionary<string, decimal> a { get; set; } 
     public double? EaseRequestingHelp { get; set; } 
     public double? TimeReachQualifiedTech { get; set; } 
     public double? TimeProvideSolution { get; set; } 
     public double? CompletenessOfSolution { get; set; } 
     public double? TechAbilityProdKnowledge { get; set; } 
     public double? HowWellKeptInformed { get; set; } 
     public double? OverallServiceOpinion { get; set; } 

    } 
} 

最後,這是我當前迭代只獲得一個屬性,並進行平均的,儘管這是目前空。

namespace Provider.Queries 
{ 
    public class FactSurveryResultsQueries 
    { 
     public FactSurveyResultsViewModel GetAverages() 
     { 
      var result = new FactSurveyResultsViewModel(); 
      using (var db = new ATSNavigatorDBEntities()) 
      { 
       var thing = 
        from p in db.Fact_SurveyResults 
        group p by 1 into a 
        select new FactSurveyResultsViewModel { EaseRequestingHelp = a.Average(p.EaseRequestingHelp)}; 
      } 
      return result; 
     } 
    } 
} 

任何人都可以點我朝着檢索一個屬性,並讓它從我的控制器縮進JSON,所以我可以使用它訪問,然後我可以複製這個其他屬性?謝謝。

回答

1

您可以使用Json.NET將.NET對象序列化爲JSON。它有一個生成縮進JSON的格式化選項。

您可以通過Visual Studio中的NuGet安裝Json.NET。安裝完成後,您可以通過JsonConvert.SerializeObject()方法進行序列化。