Tuesday, November 15, 2022

select and where query difference LINQ ASP.NET C# - with model or entity

 Select is mapping, we want to select two columns from five. (select columns) gives all rows

where will select all the columns but gives the rows with that values. (select rows) gives all columns


example:-

var employee = _db.EMPLOYEEs
    .Where(x => x.EMAIL == givenInfo || x.USER_NAME == givenInfo)
    .Select(x => new { x.EMAIL, x.ID });
reference:-https://stackoverflow.com/questions/6772267/linq-syntax-selecting-multiple-columns


 Where ~= Filter


select  = map the selected column



select for columns     and where for rows.

AND OR operator in Exists function LINQ - ASP.NET C# - without model or entity

var dt = GridView1.DataSource as DataTable;

                var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());

                

                

                //dt.DefaultView.Sort = sort;

                var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => DateTime.ParseExact(s.Field<string>("PresentInstitutePostingDate") == ""?"01/01/1990": s.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)).First()).Select(t=> new { PresentInstitutePostingDate = (DateTime.ParseExact(t.Field<string>("PresentInstitutePostingDate") == "" ? "01/01/1990" : t.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)), Discipline= t.Field<string>("Discipline") });

                var tt = final.ToList();

  if (tt.Exists(o => o.PresentInstitutePostingDate == DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture) && o.Discipline == DataBinder.Eval(e.Row.DataItem, "Discipline").ToString()))

                    {

                        e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");

                    }

Group By max date with empty values(date) LINQ Grid change color of row - ASP.NET C# - without model or entity

  var dt = GridView1.DataSource as DataTable;

                var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());

                

                

                //dt.DefaultView.Sort = sort;

                var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => DateTime.ParseExact(s.Field<string>("PresentInstitutePostingDate") == ""?"01/01/1990": s.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)).First()).Select(t=> new { PresentInstitutePostingDate = (DateTime.ParseExact(t.Field<string>("PresentInstitutePostingDate") == "" ? "01/01/1990" : t.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)), Discipline= t.Field<string>("Discipline") });

                var tt = final.ToList();

                if (!string.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate"))))

                {

                    DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture).Date.ToString("D");

                    if (tt.Exists(o => o.PresentInstitutePostingDate == DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture) && o.Discipline == DataBinder.Eval(e.Row.DataItem, "Discipline").ToString()))

                    {

                        e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");

                    }

                }

Linq compare two columns with Exists in List - ASP.NET C# -without model or entity

 var dt = GridView1.DataSource as DataTable;

                var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());

                

                

                //dt.DefaultView.Sort = sort;

                var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => DateTime.ParseExact(s.Field<string>("PresentInstitutePostingDate") == ""?"01/01/1990": s.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)).First()).Select(t=> new { PresentInstitutePostingDate = (DateTime.ParseExact(t.Field<string>("PresentInstitutePostingDate") == "" ? "01/01/1990" : t.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)), Discipline= t.Field<string>("Discipline") });

                var tt = final.ToList();

                if (!string.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate"))))

                {

                    DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture).Date.ToString("D");

                    if (tt.Exists(o => o.PresentInstitutePostingDate == DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture) && o.Discipline == DataBinder.Eval(e.Row.DataItem, "Discipline").ToString()))

                    {

                        e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");

                    }

                }

Linq select query ASP.NET C# - select two columns

 var dt = GridView1.DataSource as DataTable;

                var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());

                

                

                //dt.DefaultView.Sort = sort;

                var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => DateTime.ParseExact(s.Field<string>("PresentInstitutePostingDate") == ""?"01/01/1990": s.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)).First()).Select(t=> new { PresentInstitutePostingDate = (DateTime.ParseExact(t.Field<string>("PresentInstitutePostingDate") == "" ? "01/01/1990" : t.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)), Discipline= t.Field<string>("Discipline") });

var tt = final.ToList();

if (!string.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate"))))

                {

                    DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture).Date.ToString("D");

                    if (tt.Exists(o => o.PresentInstitutePostingDate == DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture) && o.Discipline == DataBinder.Eval(e.Row.DataItem, "Discipline").ToString()))

                    {

                        e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");

                    }

                }


reference:- https://www.aspsnippets.com/Articles/SELECT-multiple-columns-from-DataTable-using-LINQ-in-C-and-VBNet.aspx