1

Hi I believe this question was already a 100 times on StackOverFlow, but I did not manage to fix my issue. This is code line that makes me a trouble

 DatumSnimanja = (x.VrijemeSnimanja != null) ? ((DateTime)x.VrijemeSnimanja).Day + "." + ((DateTime)x.VrijemeSnimanja).Month + "." + ((DateTime)x.VrijemeSnimanja).Year : null,

Please how to fix this.

full code

     var result = resultVideoKlipBaseInfo.Select(x => new
            {
                x.IDvideoKlip,
                x.LokacijaHDD,
                x.NazivVideoKlipa,
                x.Snimatelj.IDsnimatelj,
                x.Snimatelj.Ime,
                x.Snimatelj.Prezime,
                x.Snimatelj.Storno,
                DatumSnimanja = (x.VrijemeSnimanja != null) ? ((DateTime)x.VrijemeSnimanja).Day + "." + ((DateTime)x.VrijemeSnimanja).Month + "." + ((DateTime)x.VrijemeSnimanja).Year : null,
                SatIMinutaSnimanja = (x.VrijemeSnimanja != null) ? ((DateTime)x.VrijemeSnimanja).Hour + ":" + ((DateTime)x.VrijemeSnimanja).Minute : null,
                x.VrijemeSnimanja,                          
                x.VrijemeTrajanjaKlipa

            });
            return Ok(result);

With this code I am fetching DateTime from database, and casting it to string format from DateTime format.

I want to have from this 2016-12-31 00:00:00.000 something like this 31.12.2016

Thank you all for reading this question :)

Zvonimir Tokic
  • 443
  • 9
  • 19

2 Answers2

2

You can't use ToString() for formatting inside a query going against a database because there is no equivalent SQL method and it will give you an error to that effect. (Here is a list of the string methods supported, BTW: https://msdn.microsoft.com/en-us/library/bb738534(v=vs.100).aspx).

The easiest approach is return the raw values, and then do that formatting after the main query is called (by calling ToList() on it, or iterating through the results).

Here are a few ways:

How can I convert DateTime to String in Linq Query?

Convert datetime to a formatted string inside a LINQ to SQL query

Community
  • 1
  • 1
Brian Mains
  • 50,520
  • 35
  • 148
  • 257
0

I fix this by changing line of code

DatumSnimanja = (x.VrijemeSnimanja != null) ? ((DateTime)x.VrijemeSnimanja).Day + "." + ((DateTime)x.VrijemeSnimanja).Month + "." + ((DateTime)x.VrijemeSnimanja).Year : null,

In to this

    DatumSnimanja = SqlFunctions.DateName("day", x.VrijemeSnimanja) + "." + SqlFunctions.DateName("month", x.VrijemeSnimanja) + "." +  SqlFunctions.DateName("year", x.VrijemeSnimanja),

Thank you all for assistance ! :)

Zvonimir Tokic
  • 443
  • 9
  • 19