【发布时间】:2015-09-03 21:35:28
【问题描述】:
我有以下类(实体):实体(基类,有 3 个道具)和类别(从实体派生并添加一些其他道具)
当我从数据库中读取数据(填充方法返回一个实体列表)并且编译器不允许我从实体转换为类别时,就会出现问题。
有问题的代码:
var categories = (Category)categoryDao.Read();
不过,我可以用一种非常不同的方式来完成这个过程:
var categories = new List<Category>();
foreach (var item in categoryDao.Read())
{
categories.Add((Category)item);
}
但这可能是不好的和不必要的。那么,问题来了,我可以使用 LINQ + LAMBDA 以更简单的方式做到这一点,还是有其他技巧?
【问题讨论】:
-
Read()的返回类型是什么? -
你可以看看
IEnumerable`1.Cast`1()和IEnumerable`1.ToList() -
@haim770:可能是
Entity -
@haim770 它是实体类型(我在上面提到过)
标签: c# linq casting lambda dao