2016-12-01 3 views
0

ich meine Klassenstruktur haben wie dieseChild Entity/Klasse immer null zurück in RESTful WCF

namespace Eauction 
{ 
[DataContract(Namespace = "")] 
public class SaleListJS 
{ 
    public SaleListJS() 
    { 
     this.SaleDataJS = new HashSet<SaleDataJS>(); 
    } 
    [DataMember] 
    public string AuctionId { get; set; } 
    [DataMember] 
    public int DepotId { get; set; } 
    [DataMember] 
    public string Depot_Name { get; set; } 
    [DataMember] 
    public string Sale_Date { get; set; } 

    public virtual ICollection<SaleDataJS> SaleDataJS { get; set; } 

} 

[DataContract(Namespace = "")] 
public class SaleDataJS 
{ 
    [DataMember] 
    public string SNo { get; set; } 
    [DataMember] 
    public string Speices_Name { get; set; } 
    [DataMember] 
    public string LotNo_Year { get; set; } 
    [DataMember] 
    public string Stack_No { get; set; } 

    [DataMember] 
    public string Grade { get; set; } 
    [DataMember] 
    public string Length { get; set; } 
    [DataMember] 
    public string Mid_Girth { get; set; } 
    [DataMember] 
    public string No_Of_Piece { get; set; } 

    [DataMember] 
    public string Volume { get; set; } 
    [DataMember] 
    public string Floor_Price { get; set; } 
    [DataMember] 
    public string AuctionId { get; set; } 

    public virtual SaleListJS SaleListJS { get; set; } 
} 

}

und Service-ähnliche

[ServiceContract] 
public interface IService1 
{ 
    [OperationContract] 
    [WebInvoke(Method = "POST", 
     ResponseFormat = WebMessageFormat.Json, 
     RequestFormat = WebMessageFormat.Json, 
     BodyStyle = WebMessageBodyStyle.Wrapped, 
     UriTemplate = "uploadSalelist")] 
    string UploadSalelist(SaleListJS sl); 
} 

public class Service1 : IService1 
{ 
    public string UploadSalelist(SaleListJS sl) 
    { 
     string returnBool = "false"; 
     if (sl != null) 
     { 
      try 
      { 
       string depotId = sl.DepotId.ToString(); 
       string depotName = sl.Depot_Name; 
       string auctionDate = sl.Sale_Date.ToString(); 


       if (sl.SaleDataJS != null) 
       { 
        foreach (SaleDataJS sld in sl.SaleDataJS) 
        { 

        } 
       }     

       returnBool = "true"; 
      } 
      catch (Exception ex) 
      { 
       returnBool = ex.Message; 
      } 
     } 
     return returnBool; 
    } 
} 

wenn ich dies mit Postbote aufrufen es gibt immer 'SaleDataJS' null, aber 'SaleListJS' ist nicht null

Mein Json ist

{ 
    "sl":{ 
     "DepotId":"12", 
     "Depot_Name":"Lucknow", 
     "Sale_Date":"11\/30\/2016", 
     "SaleDataJS":[ 
     { 
      "SNo":"1", 
      "Speices_Name":"Neem", 
      "LotNo_Year":"370/NC/14-15", 
      "Stack_No":"48/14-15", 
      "Grade":"II", 
      "Length":"0.95", 
      "Mid_Girth":"121 - 150", 
      "No_Of_Piece":"15", 
      "Volume":"0.0928", 
      "Floor_Price":"6715" 
     }, 
     { 
      "SNo":"1", 
      "Speices_Name":"Neem", 
      "LotNo_Year":"370/NC/14-15", 
      "Stack_No":"48/14-15", 
      "Grade":"II", 
      "Length":"1.95", 
      "Mid_Girth":"121 - 150", 
      "No_Of_Piece":"5", 
      "Volume":"0.2202", 
      "Floor_Price":"6715" 
     } 
     ] 
    } 
} 

Bitte helfen Sie mir, ich bin gerade in der Krise.

Antwort

0

Wechsel von

public virtual ICollection<SaleDataJS> SaleDataJS { get; set; } 

Um

[DataMember] 
public virtual ICollection<SaleDataJS> SaleDataJS { get; set; } 

für mich gearbeitet.