2017-02-14 11 views
-1

Я разрабатываю приложение MVC. У меня есть столбец timestamp в таблице SQL. У меня есть один запрос для извлечения всех данных из базы данных. Я использую LINQ.Как присвоить sql timestamp переменной C# в запросе linq?

Ниже мой запрос:

obj = (from c in entityObject.NCT_ProcessAudit.AsNoTracking() 
     join proc in entityObject.NCT_Process_Settings on c.process_id equals proc.ID 
     select new returnObject 
     { 
      ID = c.ID, 
      process_id = c.process_id, 
      icon_id = c.icon_id, 
      dispaly_order = c.dispaly_order, 
      updated = c.updated, //c. updated timestamp in sql and updated is datetime as public Nullable<System.DateTime> updated { get; set; } 
      output = c.output 
     }).OrderByDescending(a => a.updated).ToList(); 

Когда я запускаю выше запрос я получаю следующую ошибку

Указанный литая из материализованного «System.Byte []» типа к обнуляемым ' Тип System.DateTime недействителен.

Могу ли я получить помощь здесь. Любая помощь будет оценена по достоинству. Спасибо.

+1

:-). Каков тип обновленного класса returnObject? – A3006

+0

Спасибо. public Nullable обновлен {get; задавать; } –

+0

Вы действительно не должны называть свои классы 'returnObject' –

ответ

0

Как я писал в комментариях:
Тип SQL timesatamp не совсем так, как можно было бы предположить по его названию. Это фактически просто число, которое обычно используется для управления версиями строк.

В вашем случае, по названию поля (updated), я предполагаю, что вы хотели бы знать, когда была обновлена ​​строка, таким образом, вам лучше использовать datetime в качестве типа поля.

Все это, кстати написано в MSDN:

ли тип данных, который предоставляет автоматически сгенерированные уникальные двоичные числа в базе данных. Временная метка обычно используется в качестве механизма для строк таблицы штамповки. Размер хранилища составляет 8 байтов. Тип данных временной метки - это просто увеличивающееся число и не сохраняет дату или время. Чтобы записать дату или время, используйте тип данных даты и времени.

В последних версиях SqlServer этот тип был устаревшим и заменен rowversion

 Смежные вопросы

  • Нет связанных вопросов^_^