Пользовательский формат даты от Linq до SQL-запроса - PullRequest
0 голосов
/ 13 июля 2010

Я использую следующую функцию, чтобы вернуть SelectList. Мне нужен пользовательский формат на Descr, но замена Key.ToString () на Key.ToString ("DD / MM / YY") выдает мне ошибку "Метод 'System.String ToString (System.String)' не поддерживает перевод на SQL. ". Как я могу использовать пользовательский формат даты на Descr?

    Public Function ReturnDates(ByVal Param_Pesq_Cod As Integer) As SelectList
        Dim Qry = From E In DB.Execs _
        Where E.Pesq_Cod = Param_Pesq_Cod _
        Group E By Key = E.DataHora.Date _
        Into Group Order By Key Select New With {.Descr = Key.ToString(), .Val = Key}

        Return New SelectList(Qry, "Val", "Descr")
    End Function

1 Ответ

2 голосов
/ 13 июля 2010

Если вы поместите преобразование в запрос LINQ to SQL, он попытается создать запрос SQL из него.Сначала получите результат, реализуйте его в виде списка дат и выполните преобразование, используя LINQ to Objects.

Я думаю, что это выглядит так:

Public Function ReturnDates(ByVal Param_Pesq_Cod As Integer) As SelectList
  Dim Qry = From E In DB.Execs _
  Where E.Pesq_Cod = Param_Pesq_Cod _
  Group E By Key = E.DataHora.Date _
  Into Group Order By Key Select Key

  Dim List = _
    Qry.ToList() _
    .Select(Function(d) New With {.Descr = d.ToString(), .Val = d})

  Return New SelectList(List, "Val", "Descr")
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...