Не удается неявно преобразовать тип 'System.collections.generic.IEnumerable'нанизывать' - PullRequest
0 голосов
/ 20 января 2019

У меня есть класс и контроллер, как показано ниже

 //class
 public class Payment
{  
    public Guid ID { get; set; }
    public string InvoiceNumber { get; set; }
    public string ContactNumber { get; set; }
    public string ConsumerName { get; set; }
}

//controller
public class TransPaymentController : Controller
{

     public ActionResult Searching(int? page,string searchInvoiceNumber)
    {

        //Page Setting
        int pageSize = 10;
        int pageNumber = (page ?? 1);

        IPagedList<Payment> payments = null;
        payments= paymentRepo.GetList_Payments_InTableManualPayment(pageSize, pageNumber);


        if (!String.IsNullOrEmpty(searchInvoiceNumber))
        {

            string data = payments.Where(s => s.InvoiceNumber.Contains(searchInvoiceNumber)); //the error is here

        }
        return null;
    }
}

, и я получаю сообщение об ошибке, как показано ниже.

Невозможно неявно преобразовать тип System.collections.generic.IEnumerable<Project.Dto.PaymentDto> to string

Почему яполучить эту ошибку?

1 Ответ

0 голосов
/ 21 января 2019

Судя по всему, ваш контроллер просто пытается найти номер счета. Характер ошибки, связанной с преобразованием коллекции IEnumerable<Project.Dto.PaymentDto> в отдельный элемент string.

Подумайте, что ваш запрос запрашивает у базы данных. Пожалуйста, найдите мне все счета, в которых номер счета содержит searchInvoiceNumber. База данных может возвращать ноль, один или несколько результатов. Как это будет выглядеть как строка? Это бессмысленный вопрос.

Попробуйте вместо:

var data = payments.Where(s => s.InvoiceNumber.Contains(searchInvoiceNumber)).ToList();

Теперь данные содержат ноль, один или несколько PaymentDto элементов. Вам решать, что с этим делать.

Обратите внимание, что ваш класс Payment пока не используется. Если вы пытаетесь заполнить это непосредственно из запроса, это, вероятно, отдельный вопрос.

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