I am updating an old program and using linq for basic selection so that I can learn linq in the process. I have a recurring task to just show data from different connections - this is a grid view, Below is an example
protected void Page_Load(object sender, EventArgs e)
{
using ( vavestockModel.vavestockEntities db = new vavestockModel.vavestockEntities())
{
var prod = (from p in db.products select p);
var prodd = (from p in db.productdetails select p);
var prode = (from p in db.product_extra_data select p);
var join1 = (from p in prod
join
pd in prodd
on p.PrStyle equals pd.StyleCode
select new {pr=p,prd=pd }).ToList();
var join2 = (from p in prod
join
pd in prodd
on p.PrStyle equals pd.StyleCode
select new { p.PrShow,p.PrPrice,pd.I_EAN_51,pd.I_EAN_50 }).ToList();
var join3 = (from p in prod
join
pd in prodd
on p.PrStyle equals pd.StyleCode
select new { flattenmodel(p),flattenmodel(pd) }).ToList();
Response.Write(join1);
GridView1.DataSource = join1;
GridView1.DataBind();
}
}
??object flattenmodel(vavestockModel.vavestockEntities en)
{
string[] toren;
return toren;
}
join2 can be bound to gridview, and join1 can be bound to return an object object. Since I have to select all columns that re-write all names for so many tables, it is not a smart choice, so I want to write a function that returns flattened data.
But it's hard for me to continue. My difficulty comes because I do not know what should be returned and passed as parameters in this case. Can someone point me in the right direction?