抱歉,如果在我学习 EF 4.1 和 LINQ 之前有人问过这个问题,我需要专家意见。我有一个名为 HomeIndexData 的视图模型。我的代码如下所示:
字符串 _categoryIDs = "100,101,102,103,104";
List <int> CategoryIDs = _categoryIDs.Split(',').Select(t => int.Parse(t));
然后我得到了以下视图模型:
public class HomeIndexData
{
public IEnumerable<Genre> Genres { get; set; }
public IEnumerable<Category> Categories { get; set; }
public IEnumerable<SubCategory> SubCategories { get; set; }
public IEnumerable<Country> Countries { get; set; }
}
目前,在我的控制器中,我有以下代码 -
HomeIndexData viewModel = new HomeIndexData
{
Genres = db.Genres
.Include(i => i.Categories.Where(i => CategoryIDs.Contains(i.CategoryId)))
.Include("Categories.SubCategories")
.OrderBy(g => g.DisplaySequence),
Countries = db.countries
};
但我收到错误:
Cannot convert lambda expression to type 'string' because it is not a delegate type
对于以下行:
.Include(i => i.Categories.Where(i => CategoryIDs.Contains(i.CategoryId)))
你能否让我找到正确的方向,我该如何写 lamda 表达式。
对此的任何帮助将不胜感激。
提前致谢。