Linq To SQL - сравнить две даты в двух разных форматах - PullRequest
1 голос
/ 24 декабря 2011

Я пытаюсь сравнить две даты в двух разных форматах:

       var messages = (from m in db.ChatMessages
                        where m.RoomID == roomID &&
                        m.MessageID > messageID &&
                        m.MessageTime > timeUserJoined.AddSeconds(1)
                        orderby m.MessageTime ascending
                        select new { m.MessageID, m.Text, m.User.username, m.MessageTime, m.Color });

Моя проблема заключается в том, что в моих таблицах базы данных хранятся поля DateTime в формате США, т.е. 24.12.2011 13:35:11. Поэтому в приведенном выше запросе строка m.MessageTime> timeUserJoined.AddSeconds (1) может быть 24.12.2011 13:35:11> 24.12.2011 13:35:11

Как мне обойти это - сравнить две даты в двух разных форматах и ​​каковы лучшие практики?

В данный момент я не получаю никаких записей, я думаю, из-за этих проблем сравнения?

Большое спасибо:)

Ответы [ 2 ]

2 голосов
/ 24 декабря 2011

Вы утверждаете, что это поля DateTime ... Тогда хорошие новости;DateTime в .NET и TSQL не имеет какого-либо формата - это просто число.Любой конкретный формат, который вы видите, существует только в воображении вашей IDE или других инструментов (SSMS и т. Д.).

Пока это DateTime, у вас здесь не будет проблем.

0 голосов
/ 24 декабря 2011

Во-первых, я считаю, что вы должны использовать DateTime.CompareTo () для сравнения ваших временных отметок.

Во-вторых, как вы потребляете коллекцию сообщений? Вы знаете, что это коллекция анонимных, нетипизированных объектов?

(я бы прокомментировал, но у меня нет представителя)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...