I have a table which spreads weekly values into 52 columns, together with Product and Location columns. E.g.
Product|WK-0|WK-1|WK-2|...|WK-52|Location
I'm trying to transpose this table into row as such :
Product|Location|Week|Value
Based on example, I created following code :
var columns = 53;
var testList =from n in Enumerable.Range(1, columns)
let c = db.Stock_On_Hand_Files
.Where(p => p.Product == "00009E85 " && p.Location == "A_DOMEST")
.First()
select new
{
Product = c.Product,
Location = c.Location,
Column = n.ToString(),
SOH = c[n]
};
But I'm getting following error on the last line
Error CS0021 Cannot apply indexing with [] to an expression of type 'Stock_On_Hand_File'
As requested, schema for Stock On Hand File.
public partial class Stock_On_Hand_File
{
public string Product { get; set; }
public Nullable<double> PastDue { get; set; }
public Nullable<double> WK_001 { get; set; }
public Nullable<double> WK_002 { get; set; }
public Nullable<double> WK_003 { get; set; }
public Nullable<double> WK_004 { get; set; }
public Nullable<double> WK_005 { get; set; }
public Nullable<double> WK_006 { get; set; }
public Nullable<double> WK_007 { get; set; }
public Nullable<double> WK_008 { get; set; }
public Nullable<double> WK_009 { get; set; }
public Nullable<double> WK_010 { get; set; }
public Nullable<double> WK_011 { get; set; }
public Nullable<double> WK_012 { get; set; }
public Nullable<double> WK_013 { get; set; }
public Nullable<double> WK_014 { get; set; }
public Nullable<double> WK_015 { get; set; }
public Nullable<double> WK_016 { get; set; }
public Nullable<double> WK_017 { get; set; }
public Nullable<double> WK_018 { get; set; }
public Nullable<double> WK_019 { get; set; }
public Nullable<double> WK_020 { get; set; }
public Nullable<double> WK_021 { get; set; }
public Nullable<double> WK_022 { get; set; }
public Nullable<double> WK_023 { get; set; }
public Nullable<double> WK_024 { get; set; }
public Nullable<double> WK_025 { get; set; }
public Nullable<double> WK_026 { get; set; }
public Nullable<double> WK_027 { get; set; }
public Nullable<double> WK_028 { get; set; }
public Nullable<double> WK_029 { get; set; }
public Nullable<double> WK_030 { get; set; }
public Nullable<double> WK_031 { get; set; }
public Nullable<double> WK_032 { get; set; }
public Nullable<double> WK_033 { get; set; }
public Nullable<double> WK_034 { get; set; }
public Nullable<double> WK_035 { get; set; }
public Nullable<double> WK_036 { get; set; }
public Nullable<double> WK_037 { get; set; }
public Nullable<double> WK_038 { get; set; }
public Nullable<double> WK_039 { get; set; }
public Nullable<double> WK_040 { get; set; }
public Nullable<double> WK_041 { get; set; }
public Nullable<double> WK_042 { get; set; }
public Nullable<double> WK_043 { get; set; }
public Nullable<double> WK_044 { get; set; }
public Nullable<double> WK_045 { get; set; }
public Nullable<double> WK_046 { get; set; }
public Nullable<double> WK_047 { get; set; }
public Nullable<double> WK_048 { get; set; }
public Nullable<double> WK_049 { get; set; }
public Nullable<double> WK_050 { get; set; }
public Nullable<double> WK_051 { get; set; }
public Nullable<double> WK_052 { get; set; }
public string Location { get; set; }
public Nullable<System.DateTime> UpdateDate { get; set; }
}