c#中连接2个或更多不同类型的列表时出错
本文关键字:同类型 列表 出错 连接 2个 | 更新日期: 2023-09-27 18:18:22
我有3个列表,数据来自数据库使用实体框架。我想将这3个列表连接到一个列表,并以JSON
格式返回。我试过了。
[HttpGet]
public JsonResult GetAllData()
{
try
{
using (var context = new DbDemo())
{
var allData_Tweet = context.ObjTwitterDatas.Take(2).ToList();
var allData_Youtube = context.ObjTubeDatas.Take(2).ToList();
var allData_Blogs = context.Objblog.Take(2).ToList();
var allData = allData_Tweet.Concat(allData_Youtube).Concat(allData_Blogs).ToList();
return Json(allData, JsonRequestBehavior.AllowGet);
}
}
catch(Exception)
{
}
return Json("false", JsonRequestBehavior.AllowGet);
}
返回
System.Collections.Generic。List'不包含'Concat'的定义和最佳扩展方法重载"System.Linq.Queryable.Concat(来。IQueryable, System.Collections.Generic.IEnumerable)'有一些无效的参数
实例参数:不能从"System.Collections.Generic"转换。列出"to"System.Linq。这个IQueryable '
你可以把它框起来。
var result = allData_Tweet.Cast<object>().Concat(allData_Youtube.Cast<object>()).Concat(allData_Blogs.Cast<object>());
结果将是IEnumerable<object>.
然后打开它,你可以使用OfType<T>()
。
var myType1 = result.OfType<Type1>();
var myType2 = result.OfType<Type2>();
var myType3 = result.OfType<Type3>();
type1, type2,type3是objtwitterdata的类型,objtubedata &Objblog类型。