/ / Prístup k stĺpci časových pečiatok NULL s MySQL .NET Connector - c #, mysql, .net, sql, entity-framework

Prístup k stĺpci časových pečiatok NULL pomocou MySQL .NET Connector - c #, mysql, .net, sql, entity-framework

Používame MySQL .NET Connector 6.7.4 na prístup k databáze MySQL pomocou Entity Framework 5.0 v .NET. Po inovácii na verziu 6.7.4 sme začali narážať na problémy s stĺpcom časovej pečiatky, kde je povolené NULL. Hodnoty môžeme uložiť bez problémov (to znamená, že stĺpec sa správne aktualizuje v db), ale vždy, keď načítavame entitu zodpovedajúcu riadku v databáze, vlastnosť zodpovedajúca tomuto stĺpci vždy vráti hodnotu null. Snažili sme sa zmeniť presnosť stĺpca v edmx-súbore, ale to nezmenilo správanie vôbec.Ak niekto iný zažil tento problém? Existuje nejaké známe riešenie, okrem downgrading na staršiu verziu MySQL .NET Connector ?

odpovede:

1 pre odpoveď č. 1

Pokúsili ste sa pridať "convert null datetime = true" do vášho pripojenia? Toto prevedie hodnoty 0000-00-00 na DateTime.MinValue.

vidieť http://dev.mysql.com/doc/refman/5.5/en/connector-net-connection-options.html a http://dev.mysql.com/doc/refman/5.0/en/connector-net-programming-datetime.html

Pre viac informácií


1 pre odpoveď č. 2

Čo sa stane, ak použijete funkciu IFNULL? Tj.

SELECT IFNULL(mytimestamp,"0001-01-01 00:00:00") FROM mytable

Tým by sa mal vrátiť stĺpec, ktorý nie je nulový a má vždy hodnotu. Vrátená hodnota by mala byť hodnota stĺpca mytimestamp alebo "0001-01-01 00:00:00" (vaša predvolená hodnota).