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

Rzutowanie selecta z datetime

0

Witam,

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

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

0
DateTime.Now.AddDays(-14)

?

0

tak chyba działa zaraz spróbuje rzutować

0

ale co ty tam chcesz rzutować???

0
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)
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ć:

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);            
            }
                      
        }
    }
}
0

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

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?

0

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

1

Spróbuj

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1