/ / Dostęp do kolumny NULL timestamp ze złączem MySQL .NET - c #, mysql, .net, sql, entity-framework

Uzyskiwanie dostępu do kolumny NULL timestamp ze złączem MySQL .NET - c #, mysql, .net, sql, entity-framework

Używamy MySQL .NET Connector 6.7.4, aby uzyskać dostęp do bazy danych MySQL przy użyciu Entity Framework 5.0 w .NET. Po aktualizacji do wersji 6.7.4 zaczęły pojawiać się problemy z kolumną znacznika czasu, w której dozwolona jest wartość NULL. Możemy zapisywać wartości bez problemów (tj. Kolumna jest poprawnie aktualizowana w db), ale ilekroć pobieramy encję odpowiadającą wierszowi w bazie danych, właściwość odpowiadająca tej kolumnie zawsze zwraca wartość null. Próbowaliśmy zmienić precyzję kolumny w pliku edmx, ale to wcale nie zmieniło działania. Czy ktoś inny doświadczył tego problemu? Czy jest jakieś znane obejście, oprócz przejścia na starszą wersję MySQL .NET Connector ?

Odpowiedzi:

1 dla odpowiedzi № 1

Czy próbowałeś dodać "convert zero datetime = true" do łańcucha połączeń? Spowoduje to przekształcenie wartości 0000-00-00 na DateTime.MinValue.

widzieć http://dev.mysql.com/doc/refman/5.5/en/connector-net-connection-options.html i http://dev.mysql.com/doc/refman/5.0/en/connector-net-programming-datetime.html

po więcej informacji


1 dla odpowiedzi nr 2

Co się stanie, jeśli użyjesz funkcji IFNULL? To znaczy.

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

Powinno to zwrócić kolumnę, która nie jest zerowa i zawsze ma wartość. Zwróconą wartością powinna być albo wartość kolumny mytimestamp, albo "0001-01-01 00:00:00" (Twoja domyślna wartość).