Как я могу преобразовать переменную DateTime в выражение LINQ? - PullRequest
1 голос
/ 13 июня 2011

С учетом этого выражения:

var q = (from c in db.ContattiTitoliStudio
                     where ...
                     orderby c.Data descending
                     select new
                     {
                         c.ID,
                         Date = c.Data.ToString("MM dd, YYYY"),
                     });

c.Data is nullable, но также с ненулевым переменным - то же самое: "...No overload for method 'ToString' takes 1 arguments..."

Я пытался nullable, а необнуляемый, с (c.Data!=null)..., с String.Format, с DateTime.Parse и т. д ... Но я не могу отформатировать c.Date так, как я хочу.

В SQL Server я использую datetime кактип.

Если я использую обычный Date = c.Date, это будет отображаться как «01.01.2011 0.0.00».

Ответы [ 4 ]

1 голос
/ 13 сентября 2011

Хорошо, наконец-то это решение:

var test= from e in db.Employees.ToList() select new {Time= e.Date.ToString()};

с форумов msdn:

http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/208396f4-0406-41c6-b55f-0d8bb5d14b2c

1 голос
/ 13 июня 2011

Вы пробовали это?

Date = c.Data.HasValue ? c.Data.Value.ToString("MM dd, YYYY") : string.Empty
1 голос
/ 13 июня 2011

Использовать Nullable (то есть оператор ??) Операция, которая существует в C #

var q = (from c in db.ContattiTitoliStudio
                     where ...
                     orderby c.Data descending
                     select new
                     {
                         c.ID,
                         Date = (c.Data ?? DateTime.MinValue).ToString("MM dd, YYYY"),
                     });

Примечание: DateTime.MinValue используется, когда значение c.Данные являются нулевыми, которые используются, чтобы избежать нуля

0 голосов
/ 13 июня 2011

Вы не сказали нам, но я предполагаю, что ContattiTitoliStudio.Data - это Nullable<DateTime>.В этом случае вы должны сказать

Date = c.Data.HasValue ? "null" : c.Data.Value.ToString("MM dd, YYYY")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...