Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Linq-to-Entities: Format Date in select query expression

I am trying to get a formatted date string directly from a LINQ-to-Entities query expression.

nonBusinessDays = (from ac in db.AdminCalendar
                   where ac.DateTimeValue >= calendarStartDate && ac.DateTimeValue <= calendarEndDate && ac.IsBusinessDay == false
                   select ac.MonthValue + "/" + ac.DayOfMonth + "/" + ac.FullYear).ToList();

But, I get the folloinw error message: "Unable to cast the type 'System.Nullable`1' to type 'System.Object'. LINQ to Entities only supports casting Entity Data Model primitive types."

Is there any way to do this besides iterating through the result set? Thanks! Abe

like image 901
Abe Avatar asked Nov 20 '09 19:11

Abe


1 Answers

I found one workaround:

 nonBusinessDays = (from dt in
                            (from ac in db.AdminCalendar
                             where ac.DateTimeValue >= calendarStartDate && ac.DateTimeValue <= calendarEndDate && ac.IsBusinessDay == false
                             select ac.DateTimeValue).ToList()
                    select string.Format("{0:M/d/yyyy}", dt)).ToList();
like image 170
Abe Avatar answered Nov 15 '22 05:11

Abe