【发布时间】:2010-03-05 19:04:42
【问题描述】:
在我的 MVC 应用程序的服务层中,我试图将 linq 到 sql 实体结果转换为我的业务模型实体。我目前正在尝试以下代码:
public IList<Project> GetAllProjects()
{
var results = from p in _context.Repository<DBMappings.project>()
select p;
foreach (DBMappings.project prj in results.ToList<DBMappings.project>())
yield return CreateProjectEntityFromDBProject(prj);
}
不幸的是,这似乎不起作用,我唯一能猜到的是 yield 仅适用于 IEnumerable。除了创建新列表、在 foreach 循环中添加项目并返回列表之外,还有其他解决方案吗?我需要使用 IList,因为使用返回列表的方法需要能够执行 List 方法,例如 .Sort()。
【问题讨论】:
标签: .net c#-3.0 yield-return