Cetin OGUT Ответов: 1

Почему SQL-запрос перенастраивает только идентификационные номера.? Другие поля в personmodel имеют значение null(id, first_name, last_name, email, phone_number)


public List<personmodel> GetPerson_All()
{
List<personmodel> output ;

using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString("Tournaments")))
{
  output = connection.Query<personmodel>("dbo.spPeopleNew_GetAll").ToList();
}
return output;
}


Что я уже пробовал:

Когда я попытался отладить проект, я понял, что на выходе есть 5 элементов, что верно в соответствии с моими образцовыми данными. У меня есть 5 человек в БД. Но он только возвращает поле Id правильно. И null для других полей.
Я не могу понять почему. Код хранимой процедуры приведен ниже, и он отлично работает на стороне ms sql, когда я выполняю его отдельно.

ALTER PROCEDURE [dbo].[spPeopleNew_GetAll]
AS
SET NOCOUNT ON
    -- Insert statements for procedure here
	SELECT *
	from dbo.tblPeopleNew 

1 Ответов

Рейтинг:
8

MadMyche

Предполагая, что tblPeopleNew таблица содержит более одного столбца; проблема, скорее всего, заключается в ORM, который сопоставляет результирующий набор SQL с вашей моделью. Возвращаются ли столбцы с тем же именем и типом, что и свойства вашей модели?


Tim Corey

Я согласен. Если в вашей таблице есть столбец First_Name, но ваше свойство в вашей модели-firstname, оно не будет связывать их. Убедитесь, что орфография соответствует точно.

Cetin OGUT

Большое спасибо. Я пропустил пункт о картографировании. Когда я обновил имена столбцов таблицы до тех же, что и имена свойств PersonModal, это сработало соответствующим образом. Теперь я могу продолжить учебник...