出现无法隐式转换类型泛型列表的错误
Posted
技术标签:
【中文标题】出现无法隐式转换类型泛型列表的错误【英文标题】:getting error of can not implicit convert type generic list 【发布时间】:2021-03-15 07:05:17 【问题描述】:我有课。
public partial class RecentlyViewedReport
public int Id get; set;
public string Email get; set;
public int ReportId get; set;
public DateTime DateTime get; set;
public virtual Report Report get; set;
我有一个从 sql 表中检索数据的方法。
public List<RecentlyViewedReport> GetRecentlyViewedReports(string userEmailId)
var result = (from pd in _context.RecentlyViewedReports
join od in _context.Reports on pd.ReportId equals od.Id
orderby pd.DateTime descending
select
new
Id= pd.Id,
Email= pd.Email,
ReportId=pd.ReportId,
DateTime=pd.DateTime,
Report= od as Report //This lines giving me error
).ToList();
return result;
获取Report数据的正确方法是什么
【问题讨论】:
od 是一个列表。如果您只期待一份报告,那么您可以尝试“od.First() as Report” 我得到了解决方案。 select new RecentViewedReport() Id = pd.Id, Email = pd.Email, ReportId = pd.ReportId, DateTime = pd.DateTime, Report = od ).ToList();跨度> 【参考方案1】:试试这个...
var result = _context.RecentlyViewedReports.Include(c => c.Report)
.OrderByDescending(c => c.DateTime)
.Select(c => new
Id = c.Id,
Email = c.Email,
ReportId = c.ReportId,
DateTime = c.DateTime,
Report = c.Report
).ToList();
【讨论】:
未来的读者会真正受益于解释为什么您的代码解决了问题以及 OP 首先在他们的方法中做错了什么。以上是关于出现无法隐式转换类型泛型列表的错误的主要内容,如果未能解决你的问题,请参考以下文章
windows编程问题 错误提示“int无法隐式转换为bool”
向启用文本框 (C#) 的 Web 部件添加按钮,出现错误:无法将类型“bool”隐式转换为“字符串”
错误128无法将类型“string”隐式转换为“System.Windows.Forms.DataGridViewTextBoxColumn”
无法在 varbinary(max) 中插入空值并出现错误:不允许从数据类型 nvarchar 到 varbinary(max) 的隐式转换