Rzutowanie selecta z datetime

Rzutowanie selecta z datetime

Wątek przeniesiony 2016-10-10 19:27 z C# i .NET przez DibbyDum.

DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
0

Witam,

Potrzebuję select, który będzie rzutował mi produkty nie starsze niż 14 dni w c#...

Kopiuj
var skleps2 = from z in db.Sklep where z.ReleaseDate > DateTime.Now-14;

Nie mam pomysłu jak zrobić tak, żeby mi wyświetlił nowości nie starsze niż 14 dni od ReleaseDate

Prośba o wsparcie,

Pozdrawiam,
Człowiek-Murzyn

DibbyDum
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Kraków
0
Kopiuj
DateTime.Now.AddDays(-14)

?

DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
0

tak chyba działa zaraz spróbuje rzutować

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
0

ale co ty tam chcesz rzutować???

DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
0
Kopiuj
skleps = from h in db.Sklep
                                 where h.ReleaseDate > DateTime.Today.AddDays(-14)
                                 select h;

prosba o wsparcie, nie dziala. Cos jest nie tak z

Kopiuj
DateTime.Today.AddDays(-14)
S7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 287
1

Jakiś error dostajesz? Napisz jaki? Może winno tak być?

darkfurby napisał(a):

var skleps = from h in db.Sklep
where h.ReleaseDate > DateTime.Today.AddDays(-14)
select h;

prosba o wsparcie, nie dziala. Cos jest nie tak z "DateTime.Today.AddDays(-14)"

Winno działać:

Kopiuj
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace Rextester
{
    public class Sklep      
    {        
        
        public int SklepID {get; set;}
        public string SklepName {get; set;} 
        public DateTime SklepDate {get; set; }
    }
    
    public class Program
    {      
        public static void Main(string[] args)
        { 
            
            List<Sklep> list = new List<Sklep>();
            list.Add(new Sklep{ SklepID = 1, SklepName = "AA", SklepDate = new DateTime(2016,10,10)});
            list.Add(new Sklep{ SklepID = 2, SklepName = "BB", SklepDate = new DateTime(2016,10,11)});
            list.Add(new Sklep{ SklepID = 3, SklepName = "CC", SklepDate = new DateTime(2016,09,26)});
            
            var t = from s in list where s.SklepDate > DateTime.Today.AddDays(-14) select s;
      
            foreach (var u in t)
            {
                Console.WriteLine("{0}. {1}", u.SklepID, u.SklepName);            
            }
                      
        }
    }
}
somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Problem pewno polega na tym, że LINQ provider dla ORMa/bazy nie obsługuje porównywania dat.

DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
0
somekind napisał(a):

Problem pewno polega na tym, że LINQ provider dla ORMa/bazy nie obsługuje porównywania dat.

ok czyli nie rozumiem?

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Ja też nie. Nawet nie wkleiłeś treści błędu.

S7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 287
1

Spróbuj

Kopiuj
DateTime dt = DateTime.Today.AddDays(-14);
var skleps = (from s in db.Sklep where s.ReleaseDate > dt select s).ToList();

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.