我是C#和Linq的新手。
实际上,我想将System.Data.Entity.Infrastructure.DbQuery的输出存储到列表中。 Dbquery包含List,String和DateTime。 我尝试使用下面的代码,但给出了错误。 请帮助并告诉我我所缺少的内容或建议如何实现此目标。
错误:
System.InvalidCastException:指定的强制转换无效。。
C#代码:
var totalRecords = query.Count();
pager.TotalRecords = totalRecords;
var data = query.Select(x =>
new
{
x.audit.TypeFullName,
x.audit.UserName,
x.audit.EventType,
x.audit.EventDateUTC,
@LogDetails = x.audit.LogDetails.ToList(),
x.entaudits.Name,
@Description = x.entaudits.FullName
})
.OrderByDescending(x => x.EventDateUTC)
.Skip(pager.From)
.Take(pager.PageSize);
try
{
var list1 = data.ToList<dynamic>(); //Exception occurs here.
}
catch (Exception ex)
{
}
当我调试代码totalRecords
变量时显示计数6,但在此行Specified cast is not valid
上显示消息var list1 = data.ToList<dynamic>();
的异常