【发布时间】:2014-05-22 20:32:51
【问题描述】:
如何返回包含 LINQ to SQL 查询结果的列表?我正在尝试这个实现,但我得到了这个错误。
不能隐式转换类型
'System.Collections.Generic.List<AnonymousType#1>'到'System.Collections.Generic.List<object>
任何帮助将不胜感激。
public List<Object> getShoes()
{
var query = from b in db.BrandTbls.AsQueryable()
join m in db.ShoeModelTbls on b.BrandID equals m.BrandID
join s in db.ShoeTbls on m.ModelID equals s.ModelID
join i in db.ShoeImageTbls on s.ShoeID equals i.ShoeID
select new { s.ShoeID, s.Size, s.PrimaryColor, s.SecondaryColor, s.Quantity, m.ModelName, m.Price, b.BrandName, i.ImagePath };
return query.ToList();
}
【问题讨论】:
-
你可以做
return query.Select(t => (object)t).ToList();。 -
@UlugbekUmirov 然后它会编译,但是这种方法的用户将无法有效地使用它。
-
供参考...也请查看old answer...
-
您也可以将方法签名更改为
public IList getShoes(),但正如@Servy 所说,使用结果会很尴尬——您必须使用dynamic(或反射)来访问属性。