List<Diary_Entry> DiaryEntry = new List<Diary_Entry>();
DiaryEntry = (from DE in db.Diary_Entries
where DE.Site_Id == 1
&& DE.Date == tempDate
select DE).ToList().FirstOrDefault();错误:无法将类型Diary_Entry隐式转换为System.Collections.Generic.List<Diary_Entry>
有人能告诉我如何解决这个问题吗?
发布于 2013-02-24 03:17:14
您需要删除FirstOrDefault()调用。它返回单个实体,而您的DiaryEntry实例是一个列表。它应该是这样的(DiaryEntry的类型是List<Diary_Entry>):
var DiaryEntry = (from DE in db.Diary_Entries
where DE.Site_Id == 1
&& DE.Date == tempDate
select DE).ToList();或者应该是这样(DiaryEntry的类型是Diary_Entry):
var DiaryEntry = (from DE in db.Diary_Entries
where DE.Site_Id == 1
&& DE.Date == tempDate
select DE).ToList().FirstOrDefault();发布于 2013-02-24 03:19:06
您的变量DiaryEntry的类型为List,但您尝试将其设置为等于Diary_Entry类型的变量。你应该使用
List<Diary_Entry> DiaryEntry = new List<Diary_Entry>();
DiaryEntry = (from DE in db.Diary_Entries
where DE.Site_Id == 1
&& DE.Date == tempDate
select DE).ToList();此查询返回Diary_Entry类型的值列表。如果想要获得Diary_Entry类型的单个值,应该使用
var DiaryEntry = (from DE in db.Diary_Entries
where DE.Site_Id == 1
&& DE.Date == tempDate
select DE).FirstOrDefault();在这个查询中,您不应该使用ToList()。
https://stackoverflow.com/questions/15044480
复制相似问题