0

請求書項目の合計から、テーブル内の各請求書の合計を取得しようとしています。

私の請求書データモデルは

public class Invoice
{
    [Key]
    public int InvoiceId { get; set; }
    public int ClientId { get; set; }
    public int CustomerId { get; set; }
    public string Type { get; set; }
    public string Number { get; set; }
    public DateTime Date { get; set; }
    public bool Paid { get; set; }
    public bool Printed { get; set; }
    public string Notes { get; set; }
    public virtual ICollection<InvoiceItem> InvoiceItems { get; set; }
    public virtual Customer customer { get; set; }

}

私のinvoiceitemデータモデルは

public class InvoiceItem
{
    [Key]
    public int InvoiceItemId { get; set; }
    public int InvoiceId { get; set; }
    [StringLength(100)]
    public string PartNo { get; set; }
    public string Description { get; set; }
    public int Quantity { get; set; }
    public decimal Price { get; set; }
    public int TaxId { get; set; }
    public virtual Invoice Invoice { get; set; }
}

私が持っているグリッドにデータを入力するには

            response.Records.Add(new JqGridRecord(Convert.ToString(x.Invoice.InvoiceId), new InvoiceEditViewModel()
            {
                Id = x.Invoice.InvoiceId,
                CustomerName = x.Customer.Name,
                Total =  x.Invoice.InvoiceItems.Where(p => p.InvoiceId == x.Invoice.InvoiceId).Sum(d => d.Price * d.Quantity ),
                InvType = x.Invoice.Type,
                Notes = x.Invoice.Notes,
                Date = x.Invoice.Date.ToShortDateString(),
                Number = x.Invoice.Number,
                Printed = x.Invoice.Printed,

            }));

        }

ただし、これは合計を計算するときにエラーをスローします

「このコマンドに関連付けられた開いている DataReader が既に存在しますが、これを最初に閉じる必要があります」

これを解決する方法をいただければ幸いです。

4

1 に答える 1

0

私が必要としていたのは追加することだったようです

MultipleActiveResultSets = true;

私の接続文字列で。

于 2013-02-18T13:32:30.123 に答える