【发布时间】:2016-01-11 02:24:39
【问题描述】:
我在以下场景中尝试使用分组方法获取数据库详细信息
//Gets MulitCourseIds from db of selected CourseIds
int[] _hasListCourseIds = (from mcd in _db.MultiCourseDetails
where _lstCourseIds.Contains(mcd.CourseId.Value)
group mcd.MultiCourseId by mcd.MultiCourseId into g
select new { multiCourseId = g.Key }).ToArray();
************ error is occuring here**********
if (_hasListCourseIds.Count > 0)
{
//Checks the count of courseIds from the db and selected courseIds
foreach (var _multiCourseId in _hasListCourseIds)
{
var _courseCount = _db.MultiCourseDetails
.Where(x => x.MultiCourseId == _multiCourseId )
.Count();
if (_courseCount == _lstCourseIds.Count)
{
return true;
}
}
我收到错误
无法将类型 'Anonymous Type#1[]' 隐式转换为 'int[]'
也欢迎任何改进代码的建议..
【问题讨论】:
-
如果你不关心类型,使用
var而不是int[] -
sorry mate cast 是必需的,因为我使用它来检查内部循环,如问题所示..
-
g.Key已经是int不是吗?所以匿名类型也会有一个int
标签: c# entity-framework linq asp.net-mvc-4 anonymous-types