Linq和EF。
我很新,所以我在使用导航属性(CmsContents)检索实体时遇到了一些问题。 我可以作为List返回,但不能作为IEnumerable返回。
请给我一个代码谢谢的例子!
public IEnumerable<CmsGroupsType> GetMostPopularContents()
{
using (var context = new CmsConnectionStringEntityDataModel())
{
context.CmsGroupsTypes.MergeOption = MergeOption.NoTracking;
var contents = context.CmsGroupsTypes.Single(g => g.GroupTypeId == 1).CmsContents;
return contents.ToList();
}
}
Error 1 Cannot implicitly convert type 'System.Collections.Generic.List<WebProject.DataAccess.DatabaseModels.CmsContent>' to 'System.Collections.Generic.IEnumerable<WebProject.DataAccess.DatabaseModels.CmsGroupsType>'. An explicit conversion exists (are you missing a cast?)
答案 0 :(得分:2)
通用类型不匹配:您的.ToList()
属于CmsContent
,但您的返回类型为IEnumerable
CmsGroupsType
。我不确定这是否是故意的,但将返回类型更改为IEnumerable<CmsContent>
将使一切正常。
答案 1 :(得分:-3)
将您的退货类型从CmsGroupsType
更改为WebProject.DataAccess.DatabaseModels.CmsContent