2016-04-22 60 views
0

我正在使用C#Web服務+ Linq到SQL類+返回JSON數據。如何從多表中返回json數據?

例如我的表:從表中返回JSON

table

數據:

JSON

我想要使用C#此應用程序?

+0

您可以創建在C#中的視圖模型類,它具有'Badge'和'VoleType'的性能和使用'HttpContent.ReadAsync反序列化JSON到C#對象()' –

回答

0

創建新類的組合類:

public class BadgeVoleModel 
{ 
    public List<Badge> BadgeList = new List<Badge>(); 

    public List<VoleType> VoleTypeList = new List<VoleType>(); 
} 

創建方法(返回字符串),用於處理來自DataContext的獲取數據並填充數據BadgeVoleModel,並從控制器調用該方法。

public string GetData() 
    { 
     var data = new Models.BadgeVoleModel(); 

     data.BadgeList = db.Badges.ToList(); 
     data.VoleTypeList = db.VoleTypes.ToList(); 

     var result = Newtonsoft.Json.JsonConvert.SerializeObject(data); 

     return result; 
    } 

而對於反序列化數據:

public Models.BadgeVoleModel DeserializeData(string data) 
    { 
     var result = Newtonsoft.Json.JsonConvert 
        .DeserializeObject<Models.BadgeVoleModel>(data); 

     return result; 
    }