【发布时间】:2013-12-23 11:01:41
【问题描述】:
给定以下数据库结构
类别
身份证 类别名称ResID 父类别(可选)
资源
身份证 文本 朗
并给定一个 ViewModel
public class CategoryViewModel
{
public int ID { get; set; }
public int CategoryNameResID { get; set; }
public string CategoryName { get; set; }
public int ParentCategory { get; set; }
public string ParentCategoryName { get; set; }
}
我想获取包含 ParentCategoryName 的所有类别的列表
到目前为止我所做的是:
var categories = (from cat in db.Categories
join res in db.Resources on cat.CategoryNameResID equal res.ID
select new CategoryViewModel{
ID = cat.ID,
CategoryNameResID = cat.CategoryNameResID,
CategoryName = res.Text,
ParentCategory = cat.ParentCategory,
ParentCategoryName = (from p in db.Resources
where p.ID == cat.ParentCategory
select p.Text)
}).ToList();
我无法弄清楚如何获得 ParentCategoryName 而无需再次迭代,这绝对是错误的。
【问题讨论】:
标签: c# sql asp.net-mvc linq