.asp web api如何绑定/推送复杂数据(表有与外表相关的数据)

时间:2016-07-23 22:36:45

标签: asp.net database asp.net-web-api2

正如标题所说,我不知道如何将数据推送到具有与自身相关的外表的模型。这是一个例子:

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; }
}

因此,用户可以创建捐赠列表,即捐赠会话,单一捐赠与捐赠详细信息相关。现在问题来了:当我从前端绑定数据时,如何处理这两个模型?特别是,我应该推动公共虚拟DonationSession Session&#34;在&#34; DonationDetail&#34;中,还处理&#34; ICollection&lt; ..&gt; DonationDetails&#34; ?

1 个答案:

答案 0 :(得分:0)

您可以借助HTTP方法(如此

)从JavaScript传递数据
var  DonationSession= {
Id : 0,
District : "TEST",
UserId : "123",
StartTime :"10-Jan-2016",
EndTime : "10-Jan-2016",       
DonationDetails : [{
    Name :"ABC",
    ID:"123",
    ...........

}]};

您可以使用http方法调用传递此(DonationSession)对象 你可以注意到DonationDetails属性是一个数组,你可以添加任意数量的项目,并将该列表传递给web api函数