-1
 IQueryable<GRNDetail> selectedResults = from c in InventoryContext.GRNDetails
                              where c.ProductID == pro.ProductID && (c.Quantity - c.SoldQuantity > 0 || c.SoldQuantity.Value.Equals(null))
                              select new
                              {
                                  c.GRNDetailID,
                                  c.GRNID,
                                  c.Product,
                                  c.ProductID,
                                  c.PurchaseOrderDetail,
                                  c.PurchaseOrderDetailID,

                                  c.Quantity,
                                  c.SoldQuantity,
                                  c.Tax,
                                  c.TaxRate,
                                  c.Total,
                                  c.UnitPrice, 
                                  SaleQty = (c.Quantity - c.SoldQuantity)
                              };
4

1 に答える 1

4

select に type : GRNDetail がありません:
select new GRNDetail

編集:代わりに使用Select c; オブジェクト全体を元に戻します。または、特定のアイテムのみが必要な場合は、カスタム タイプを作成することもできます。

次のようなカスタムタイプを作成できます:SaleQtyを使用して(通貨または倍精度に設定するか、ニーズに合ったデータ型に設定します:そして、これを結果に使用します:

 public class GRNDetailResults
    {
        public int GRNDetailID { get; set; }

        public int GRNID { get; set; }

        etc ....

        public double SaleQty { get; set; }

例えば

IQueryable<GRNDetailResults> selectedResults = from c in InventoryContext.GRNDetails
                              where c.ProductID == pro.ProductID && (c.Quantity - c.SoldQuantity > 0 || c.SoldQuantity.Value.Equals(null))
                              select new GRNDetailResults
                              {
                                 GRNDetailID = c.GRNDetailID,
                                  GRNID  =c.GRNID, 
                                   etc ...
                                  SaleQty = (c.Quantity - c.SoldQuantity)
                              };
于 2013-09-09T13:50:37.730 に答える