Dapper обработка возвратила пустой набор результатов - PullRequest
7 голосов
/ 29 июля 2011

Мы используем Dapper для отображения наших данных sql, и до сих пор он работал очень хорошо.У меня есть случай, когда мы делаем что-то похожее на:

someObject = con.Query<T>("GetInfoSproc", p, commandType: CommandType.StoredProcedure).Single();

Это прекрасно работает, пока хранимая процедура, которую я вызываю, возвращает данные.Бывают случаи, когда хранимая процедура может не возвращать результат и возвращать ошибку в выходном параметре.Кажется, это вызывает проблему в Dapper, потому что dapper выдает ошибку:

"При использовании API с множественным отображением убедитесь, что вы установили параметр splitOn, если у вас есть ключи, отличные от Id"

Есть ли способ написать запрос, чтобы он мог правильно обрабатывать случай, когда возвращается пустой результат, или это ограничение Dapper?

1 Ответ

3 голосов
/ 26 мая 2017

SingleOrDefault() твой друг здесь

Попробуйте это:

someObject = con.Query<T>("GetInfoSproc", p, commandType: CommandType.StoredProcedure).SingleOrDefault();
if (someObject != null)
{
  // operate on your results here
}
return someObject;

также вам нужно убедиться, что T равно Nullable

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