如果包含子字符串,如何插入列表中-WEB API

时间:2019-08-21 04:19:00

标签: c# .net search .net-core asp.net-core-webapi

如果包含特定的searchString,我需要使用列表显示产品详细信息。

List<ProductsViewModel> ProductList = new List<ProductsViewModel>();
            using (var context = new Trainee1334Context())
            {
                ProductList = context.Products.Where(p => p.ProdcuctName.Contains("Book")).Select(p => new ProductsViewModel()).ToList();

            }
            return (ProductList);

它返回空值。

2 个答案:

答案 0 :(得分:2)

您忘记填写投影中的值。

这是你的问题。

Select(p => new ProductsViewModel())

应该更像

Select(p => new ProductsViewModel()
          {
              Name = p.Name,
              SomethingElse = p.SomethingElse 
          }).

答案 1 :(得分:0)

您必须初始化您的视图模型。您无需预先创建ProductList

IEnumerable<ProductsViewModel> productList;
using (var context = new Trainee1334Context())
{
     productList = context.Products.Where(p => p.ProdcuctName.Contains("Book"))
          .Select(p => new ProductsViewModel() 
          {
             Name = p.Name,
             Price = p.Price,
             // initialize all viewmodel properties
          });
}
return productList;