Я пытаюсь запросить SQL-сервер с помощью Dapper и заставить его вернуть список объектов класса со значениями столбцов в качестве соответствующих свойств для каждого объекта.У меня есть класс с именем LeaveInfo со следующими свойствами:
ID, Имя, Дата_, Оставить, TDY, Назначения, Недоступно
и таблица SQL с соответствующими столбцами, кроме имени.Мой код для запроса:
public List<LeaveInfo> getLeaveInfo(string id, string date)
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.ConnectStr("Schedules")))
{
return connection.Query<LeaveInfo>("dbo.LeaveCalendar_GetLeave @ID, @Date_",
new { ID = id, Date_ = date }).ToList();
//return connection.Query<Person>("dbo.Personnel_GetShift @Shift_", new { Shift_ = shift_ }).ToList();
//return connection.Query<Truck>("dbo.Trucks_GetTrucks").ToList();
}
}
Вызываемая процедура SQL:
Create Procedure LeaveCalendar_GetLeave
@ID VARCHAR(2),
@Date_ Date
As
Begin
Set NoCount on
Select * from LeaveCalendar
Where ID = @ID and Date_ = @Date_
End
Вместо того, чтобы возвращать все столбцы, он возвращает только ID и Date_.Закомментированный код - это два похожих запроса, которые выполняют одно и то же и работают правильно, возвращая все значения свойств соответствующих классов.
Я запросил его вручную на SQL-сервере
Select * from LeaveCalendar
Where ID = 54 and Date_ = '20191011'
например .. и там работает нормально.Итак, у меня есть два других запроса, которые работают, и, насколько я могу судить, ошибок в части SQL нет.Я не уверен, где происходит отключение в этот момент.
Я проверил имена свойств, чтобы убедиться, что они совпадают с именами столбцов.Они не только работают, но у меня есть две процедуры для добавления и удаления информации в одну и ту же таблицу с использованием тех же значений, которые также работают.
Поэтому я могу добавлять и удалять информацию, просто не проверяя ее из приложения...
Редактировать:
Приносим извинения за поздние добавления и спасибо за то, что вы все потратили на помощь.К сожалению, в другом месте я нашел синтаксическую ошибку, которая решила мои проблемы, и удивительно, что свежие глаза сделают для вас ...
Кажется, я не могу удалить свой вопрос, несмотря на тривиальную корневую причину.