使用导航属性检索实体

本文关键字:检索 实体 属性 导航 | 更新日期: 2023-09-27 18:04:11

Linq and 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?)

使用导航属性检索实体

泛型不匹配:您的.ToList()属于CmsContent,但您的返回类型是CmsGroupsTypeIEnumerable。我不确定这是否是故意的,但是将返回类型更改为IEnumerable<CmsContent>将使一切工作。

将返回类型从CmsGroupsType更改为WebProject.DataAccess.DatabaseModels.CmsContent