Arhn - архитектура программирования

EF6 Code-First Nullable Byte Cast Ошибка?

Я использую Entity Framework 6 Code-First с моим проектом .NET 4.0 для связи с базой данных. Один из столбцов в таблице, с которой я работаю, — это tinyint, допускающий значения NULL. В моей модели этот столбец определен как обнуляемый байт (байт?). Я использую LinqPad для тестирования своей модели. Когда я пытаюсь запустить оператор Linq, где я говорю Fieldname.HasValue, я получаю следующую ошибку:

«Указанное приведение из материализованного типа System.Int64 к типу System.Int16 недопустимо».

Может ли кто-нибудь пролить свет на то, что происходит?


  • Я сталкивался с подобными случаями, когда SqlDataReader не всегда читается tinyint как byte. 30.09.2016

Ответы:


1

Я думаю, что тип данных столбца в вашей таблице базы данных - Int64 (BIGINT), но ваша модель данных имеет байт?. Либо вам нужно изменить тип данных столбца базовой таблицы на TINYINT, либо изменить тип свойства модели данных сущности на long?.

30.09.2016
  • Тип данных в базе данных для рассматриваемого поля установлен на tinyint, а не на bigint. 30.09.2016
  • Теперь я понимаю, что проблема была вызвана совершенно другим полем. Спасибо за помощь. 30.09.2016

  • 2

    Извлеченный урок: когда вы получаете сообщение «Указанное приведение из материализованного [типа 1] к [типу 2] недопустимо», проверьте ВСЕ свои поля, а не только те, которые вы пытаетесь запросить.

    Моя ошибка заключалась в том, что ошибка была связана с полем, которое имело значение байта, допускающее значение NULL. Оказывается, было еще одно поле, которое я определил как «int», но тип SQL был «bigint», отсюда и ошибка.

    Спасибо всем за ваше терпение, вашу помощь и ваше время.

    30.09.2016
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..