Kezdőoldal » Számítástechnika » Programozás » Hogyan tudnám letárolni a...

Hogyan tudnám letárolni a dátumot (C#, EF Core)?

Figyelt kérdés

Üdv! DateTime típusban mentem le adatbázisba a dátumokat. A webalkalmazást MVC.net coreban írom, illetve EF Core-t használok az adatbázishoz. Lényeg az annyi, hogy ha lementem pl. a DateTime.Now-ot, akkor 2020-10-11T00:59:40.5255832 formában menti le, és így írom ki a weboldalra. DateTime.Now.ToShortDateString() tökéletesen működne, viszont nem tudja lementeni úgy, hogy stringgé alakítom, mivel DateTime a típusa, amint írtam az elején. Ha pedig nem DateTime, hanem string típusban tárolom a dátumokat, akkor át tudom alakítani rövidebb formára DateTime.Now.ToShortDateString()-el, viszont nem tudok vele dolgozni, pl. napokat hozzáadni, hasonlítgatni, stb.


Amire gondoltam, az az, hogy maradna DateTime típusban az adatbázisban, és amikor íratom ki weboldalra, akkor "lecsípem" a végét, átalakítom DateTime.Now.ToShortDateString()-el és így íratom ki és tudok vele dolgozni. Így viszont akkor át kell töltenem egy másik listába az elemeket, ott "átcsinálni" és azt a listát adni át a javascriptnek, ami a tábla sorait hozza létre.


A másik pedig, hogy string-ként tárolom le az adatbázisba, és amikor szükségem van rá, dolgozni akarok a dátummal akkor DateTime típusra alakítom, majd vissza stringre.


Kinek mi a véleménye, hogy egyszerűbb, ki hogy "szokta" ezt orvosolni?

Bármilyen segítség jól jön, köszönöm!


2020. okt. 18. 22:26
 1/4 anonim ***** válasza:
65%
Én mindenképp dateTime ként tárolnám le, nem stringként. C# oldalon a listaműveletek amúgy is egyszerűen letudhatóak egy LinQ-s Select-el.
2020. okt. 18. 22:34
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
DateTime. EF be mit állítottál be, amikor a Modelt generáltad? Akkor többféle Datetime típust meg lehet adni. Szerintem ott lesz a probléma gyökere.
2020. okt. 20. 02:16
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Mindenképpen valami dátum tipust használj az adatbázisban... szövegként tárolni dátumot gáz.


A "2020-10-11T00:59:40.5255832" formában menti le a dátumot nem igaz, hiszen ez már egy szöveges reprezentációja a dátumnak. Igazából az valamilyen bináris formátumban van lementve.


Egyébként hacsak nincs valami nyomós okod ellene, ajánlom, hogy ne használj DateTime.Now-t, hanem UTC-t tárolj mindig.

2020. okt. 22. 16:08
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
Nekem teljesen jól működik. Az Adatbázisban a Date mező DateTime típusú és amikor az adatbázisba írok akkor teljesen rendben van minden, nem történik ilyen hiba mint nálad. A Datetime.Now is tökéletesen jól működik. Szerintem mondom. Itt a probléma az, hogy az EntityFramework nem DateTime, hanem más. Ha megnézed az EF Model-t, vizuálisan is akár, akkor jobb oldalt a tulajdonságoknál a típust beállíthatod. Az is lehet, hogy stringként hagytad véletlen.
2020. okt. 22. 17:55
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!