2016-07-23 12 views
1

Wie der Titel sagt, ich weiß nicht, wie Sie Daten an Modell, die fremde Tabelle hat sich zu schieben. Hier ist das Beispiel:.asp web api wie komplexe Daten zu binden/zu pushen (Tabelle hat Daten in Bezug auf fremde Tabelle)

public class DonationDetail 
{ 
    public int Id { get; set; } 
    public virtual DonationSession Session { get; set; } 
    public DonationType Type { get; set; } 
    [StringLength(100)] 
    public string Name { get; set; } 
    public DateTime CheckDate { get; set; } 
    public float Amount { get; set; } 
    [StringLength(200)] 
    public string DesignatedTo { get; set; } 
    public float? DesignatedAmount { get; set; } 
} 

public class DonationSession 
{ 
    public int Id { get; set; } 
    [StringLength(50)] 
    public string District { get; set; } 
    public string UserId { get; set; } 
    public DateTime StartTime { get; set; } 
    public DateTime? EndTime { get; set; } 

    public virtual ICollection<DonationDetail> DonationDetails { get; set; } 
    public virtual ApplicationUser User { get; set; } 
} 

So können Benutzer eine Liste von Spenden erstellen, dh Spendensitzung und Einzelspende bezieht Detail Spende. Jetzt kommt das Problem: Wenn ich Daten vom Frontend binden will, wie kann ich mit beiden Modellen umgehen? Vor allem, was soll ich zu "öffentlichen virtuellen DonationSession Session" in "DonationDetail", und auch mit der "ICollection < ..> DonationDetails"?

Antwort

0

Sie können wie diese mit Hilfe von HTTP-Methoden Daten JavaScript passieren

var DonationSession= { 
Id : 0, 
District : "TEST", 
UserId : "123", 
StartTime :"10-Jan-2016", 
EndTime : "10-Jan-2016",  
DonationDetails : [{ 
    Name :"ABC", 
    ID:"123", 
    ........... 

}]}; 

Sie können mit Ihrem http Methodenaufruf dieses (DonationSession) Objekt übergeben können Sie feststellen, dass DonationDetails Eigenschaft ein Array ist, können Sie Fügen Sie eine beliebige Anzahl von Elementen hinzu und übergeben Sie diese Liste an die Web-API-Funktion