无法从System.Collection.Generic.List <dal.questio>转换为Dal.Questio

时间:2019-01-14 13:58:18

标签: c# linq

我想将我的列表添加到另一个列表中,但是当我这样做时出现错误

如何解决?

public List<Questio> Get(int Id)
{
    List<Questio> Quest;
    Quest = null;
    try
    {
        using (db = new Entities())
        {
            var Qu = db.Que.Where(x => x.Lan == Id).Select(i => i.Id);

            foreach (var a in Qu)
            {
                var ID = db.Quess.Where(x => x.QueId == a).Select(i => i.Qued);

                foreach (var j in ID)
                {
                    var vv = db.Questio.Where(m => m.QId == j).ToList();
                    Quest.Add(vv);
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:6)

您只需要使用接受AddRange的{​​{1}}:

IEnumerable

Quest.AddRange(vv); 仅用于添加单个项目。

如果您实际需要的是列表列表,请另外声明Add

Quest

现在您打给List<List<Questio>> Quest = new List<List<Questio>>(); ... var vv = db.Questio.Where(m => m.QId == j).ToList(); Quest.Add(vv); 的电话应该可以正常工作。

两个旁注,都超出了问题的范围:1)如评论所述,请检查您的命名; 2)可以使用更多LINQ功能(例如Join和SelectMany)简化此代码。