微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET MVC无法将类型System.Collections.Generic.List <string>隐式转换为'string'

如何解决ASP.NET MVC无法将类型System.Collections.Generic.List <string>隐式转换为'string'

我正在尝试使用EF从sql检索数据并将其放入viewmodel类型的列表中。 但是,当我尝试检索数据时,会出现以下错误Cannot Implicitly Convert Type System.Collections.Generic.List<.string> to 'string'

我只是想从数据库中检索ID和ProductName列。

任何帮助将不胜感激。

这是我的viewmodel:

public class Productviewmodel
{
    public int ID { get; set; }
    public string Product { get; set; }
}

这是我的控制器代码

public ActionResult TableReport()
{
    List<Productviewmodel> products = new List<Productviewmodel>();
    Productviewmodel product = new Productviewmodel();
    product.Product = db.Products.Select(z => z.ProductName).ToList();
    product.ID = db.Products.Select(z => z.ProductID).ToList();
    return View();
}

解决方法

@GSerg:大声读出您的代码。 “创建一个空的ProductViewModels列表。创建一个空的ProductViewModel。将所有产品名称的列表分配为该单个空ProductViewModel的产品名称。将所有产品ID的列表分配为该单个空的ProductViewModel的ID”。难怪它不起作用,对吗?相反,您应该完成var product = db.Products.Select(z => new ProductViewModel(){ID = z.ProductID,Product = z.ProductName})。ToList();

,

您正在将列表放在string

将您的Viewmodel更改为

 public class ProductViewModel
 {
     public int ID { get; set; }
     public List<string> Product { get; set; }
 }

您还试图将列表放入int中。那也不行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。