Linq2SQL, приведение в сопоставлении? - PullRequest
0 голосов
/ 11 февраля 2012

Я новичок в linq и linq2SQL. Я сделал свою домашнюю работу, то есть нашел много результатов и ответов, которые нацелены на подобные проблемы. Кажется, мне не хватает более глубокого понимания linq и linq2SQL. Я нахожусь в своем уме.

У меня есть веб-приложение с простым интерфейсом html и js. Я обмениваюсь данными с моим aspx через ajax xmlhttprequests. Все данные поступают естественным образом и должны быть представлены в виде строк.

Что я пытаюсь сделать:

  private DateTime _date;

  [Column(Storage = "_date", Name = "date", DbType = "date", CanBeNull = false)]
  public string date 
    {
       get { return this._date.ToString("yyyy-MM-dd"); }
       set { this._date = DateTime.ParseExact(value, "yyyy-MM-dd", null); }
    }

Вместо преобразования строки в datetime в моем aspx я хотел бы просто передать строки и выполнить преобразование при получении и установке. Выполнение этого кода вызывает ошибку «Неверное приведение».

Пытаюсь ли я сделать что-то, что просто невозможно сделать? Мой подход неверен? Я не ожидаю, что кто-то еще напишет код для меня. Я не против копаться в ссылках, но я не знаю, с чего начать. Так что, если кто-то, куда направить меня в правильном направлении, я был бы очень признателен.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2012

Решение на данный момент:

[Column(Name = "date", DbType = "date", CanBeNull = false)]
public string date { get; set; }

По всей видимости, linq или «кто бы ни был» ответственен, может самостоятельно изгнать кастинг, если вы позволите. Сейчас это достаточно хорошо для меня.

У меня такое чувство, что позже я столкнусь с проблемами подобного литья и что могут потребоваться другие решения. Если это так, я буду обновлять эту тему.

0 голосов
/ 11 февраля 2012

Какой бы ни была проблема приведения, это не в коде, который вы показываете.

Преобразование в и из значения DateTime в методе получения / установки является вполне разумным. Единственное, что может произойти в вашем сценарии, - это получить FormatException «Строка не была распознана как допустимый DateTime». если переданное значение не соответствует допустимой временной строке в вашем формате - вы в настоящее время не обрабатываете это.

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