c# - 无法从 System.Collection.Generic.List 转换给 Dal.Questio
问题描述
我想将我的列表附加到另一个列表中,但是当我这样做时,我得到了错误
如何解决?
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);
}
}
}
}
}
解决方案
你只需要使用AddRange
接受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);
现在您的电话Add
应该可以正常工作。
两个旁注,都超出了问题的范围:1)正如评论所说,请检查您的命名;2) 可以使用更多 LINQ 功能简化此代码,例如 Join 和 SelectMany。
推荐阅读
- kubernetes - Kubernetes ingress-nginx 给出 502 错误(错误网关)
- multithreading - 基于流/反应式编程中的事务/请求-响应模式
- javascript - 使用 Pouch 和 Couch DB 登录 React Native
- c++ - 全球脱节
- r - 过滤数据集,以便仅显示较早组织的程序
- javascript - 如何允许用户在 Angular 应用程序中更改字体大小?
- sql - 在 oracle 中获取字母数字序列的最大值时出现问题
- sql - 使用触发器更新另一个表中的列
- r - 在 R 中使用 spanID 抓取数据
- javascript - 应用程序生命周期如何在 React-Native 中工作?