无法将类型 'System.Collections.Generic.List<String>' 隐式转换为 'System.Collections.Generic.IEnumerable<turon.Model.Products_Products>
Cannot implicitly convert type 'System.Collections.Generic.List<String>' to 'System.Collections.Generic.IEnumerable<turon.Model.Products_Products>
public IEnumerable<Products_Products> getprod()
{
var db = new Model.atengturonDBEntities();
IEnumerable<Products_Products> x = new List<Products_Products>();
var test = (from name in db.Products_Products select
name.ProductName).ToList();
x = test;
return x;
}
为什么我会收到这个错误?我也试过把所有的'IEnumerable'改成'List',救救我!谢谢:)
Cannot implicitly convert type 'System.Collections.Generic.List' to 'System.Collections.Generic.IEnumerable'. An explicit conversion exist(are you missing a cast?)
Lambada 表达式从每个产品获取 ProductName 并将其收集为字符串集合。我建议您将其更改为:
return (from name in db.Products_Products select
name).ToList();
错误信息很清楚。您的 LINQ 查询 return 的 string
集合,因为您正在选择 name.ProductName
,但您的方法声明为 return Products_Products
的集合。
将您的 LINQ 查询更改为 return,不仅仅是 ProductName
,而是产品本身:
IEnumerable<Products_Products> x = new List<Products_Products>();
var test = (from name in db.Products_Products select
name).ToList();
(也可以只替换为 db.Products_Products.ToList()
。
或将方法更改为return IEnumerable<string>
public IEnumerable<string> getprod()
你可以使用 .FirstOrDefault
或 First
它总能解决我的问题
public IEnumerable<Products_Products> getprod()
{
var db = new Model.atengturonDBEntities();
IEnumerable<Products_Products> x = new List<Products_Products>();
var test = (from name in db.Products_Products select
name.ProductName).ToList();
x = test;
return x;
}
为什么我会收到这个错误?我也试过把所有的'IEnumerable'改成'List',救救我!谢谢:)
Cannot implicitly convert type 'System.Collections.Generic.List' to 'System.Collections.Generic.IEnumerable'. An explicit conversion exist(are you missing a cast?)
Lambada 表达式从每个产品获取 ProductName 并将其收集为字符串集合。我建议您将其更改为:
return (from name in db.Products_Products select
name).ToList();
错误信息很清楚。您的 LINQ 查询 return 的 string
集合,因为您正在选择 name.ProductName
,但您的方法声明为 return Products_Products
的集合。
将您的 LINQ 查询更改为 return,不仅仅是 ProductName
,而是产品本身:
IEnumerable<Products_Products> x = new List<Products_Products>();
var test = (from name in db.Products_Products select
name).ToList();
(也可以只替换为 db.Products_Products.ToList()
。
或将方法更改为return IEnumerable<string>
public IEnumerable<string> getprod()
你可以使用 .FirstOrDefault
或 First
它总能解决我的问题