Announcement

Collapse
No announcement yet.

Linq to Entities unterstüzt keine TimeOfDay

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linq to Entities unterstüzt keine TimeOfDay

    Hallo aller seits:
    ich will das Zeit zwichen 2 Datetime ohne (Datum) vergleichen wenn TimeOfDay benutze bekomme ich eine Exception: LIND to Entities nicht unterstüzt..
    habt ihr eine Idee wie ich die Zeiten vergleichen könnte?
    Danke im vorraus..

    Code:
                        var query =
                            from tc in transConfig
                            where tc.ACTIVE == true
                            where ((DateTime)tc.STARTTIME).TimeOfDay.CompareTo(DateTime.Now.TimeOfDay) == -1                         
                            where ((DateTime)tc.ENDTIME).TimeOfDay.CompareTo(DateTime.Now.TimeOfDay) == 1  
                            select .....

  • #2
    Hallo,

    geht ein Verlgeich mit < und > nicht?

    Also:
    [highlight=c#]
    var query = from tc in transConfig
    let now = DateTime.Now
    where
    tc.ACTIVE &&
    tc.STARTTIME < now &&
    tc.ENDTIME > now
    select ....
    [/highlight]
    Oder die >< umgekehrt...


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      was nicht unterstüzt wird ist TimeOfDay.. der Operator "AND" kann man sowieso nicht benutzen es reicht where dann noch ein Where hintereinander zu schreiben

      Ich habe jetzt aber eine Lösung gefunden und zwar am Ende nach der select Abfrage:

      Code:
      return query.ToList().Where(p => p.StartTime.TimeOfDay.CompareTo(DateTime.Now.TimeOfDay) == -1).Where(p => p.EndTime.TimeOfDay.CompareTo(DateTime.Now.TimeOfDay) == 1);
      und dass funktioniert

      Danke
      MFG

      Comment


      • #4
        So hast du aber simples LINQ to Object verwendet. Heißt du holst erst alle Daten(zumindest ohne die Zeiteinschränkung) aus der Datenbank und filterst dann lokal auf dein Liste. Mag ok sein, dir sollten aber aber die Performance Implikationen klar sein.

        Comment


        • #5
          Hallo,

          seit wann kann && nicht benutzt werden? Das funktioniert schon.


          mfG Gü
          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

          Comment

          Working...
          X