Указанное приведение из материализованного типа System.Int16 к типу System.Int32 недопустимо - PullRequest
1 голос
/ 27 марта 2020

Я использую «Entity Framework 6» для загрузки данных из базы данных. В настоящее время я хочу загрузить данные из представления, а не из таблицы с ef6. Я создал класс только со свойствами (обычный старый c# объект (poco)).

Вы можете увидеть класс poco здесь:

public class Person {

   public string Name { get; set; }
   public int? PhoneNumber { get; set }
   public int? Age { get; set; }

}

Затем я хочу загрузить просмотреть с помощью этого кода:

var sql = "SELECT Name, PhoneNumber, Age from Person;"

using(var context = new PersonContext()){

      var personList = context.Database.SqlQuery<Person>(sql).toList();   
}

Во время выполнения программа выдает следующую ошибку:

The specified cast from a materialized 'System.Int16' type to the 'System.Int32' type is not valid.

Итак, я знаю тип свойства и базу данных столбцы типа не равны. Но как я могу найти, какое свойство в коде не равно столбцу базы данных? Поскольку в реальном приложении у меня много свойств, этот вопрос важен для меня, чтобы найти свойство.

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