Как получить данные в формате MM / dd / yyyy в Linq - PullRequest
2 голосов
/ 09 декабря 2011

Аутентификация для входа в систему на моем сайте основана на трех параметрах, одним из которых является дата рождения. A DatePicker предоставляется пользователю для выбора даты. Формат, в котором дата сохраняется в базе данных, - ММ / дд / гггг.

Когда проверяется аутентификация, запрос Linq не возвращает никакого результата, поскольку запись в базе данных находится в ММ / дд / гггг, а значение, передаваемое из представления в контроллер, находится в дд / мм / гггг. получить любой вывод.

Ниже мой код того, что я делаю в контроллере.

[HttpPost]
        public ActionResult Login(LoginTable log)
        {
            var login = from a in db.LoginTables
                        where a.DOB== log.DOB
                        select a;
        }

Также я попробовал

var login = from a in db.LoginTables
                            where a.DOB== log.DOB.toString("MM/dd/yyyy")
                            select a;

но ошибка его выдачи (метод перегрузки ToString () не принимает 1 аргумент)

Что я могу сделать?

1 Ответ

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

Причина этого сбоя заключается в том, что LINQ переведен в синтаксис SQL, и в SQL нет эквивалента ToString.

Учитывая, что log является параметром для вашего метода, почему бы просто не иметь:

[HttpPost]
public ActionResult Login(LoginTable log)
{
    string DOBString = log.DOB.ToString("MM/dd/yyyy");

    var login = from a in db.LoginTables
                where a.DOB == DOBString
                select a;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...