返回List在方法

本文关键字:方法 List 返回 | 更新日期: 2023-09-27 18:16:34

我使用实体框架和LinQ使用从两个表中获取列表。这是我的代码:

public List<tbl_KidsMagazines> km_GetListJoins()
{
    var resultsList = (from s in AgEntities.tbl_KidsMagazines 
                       join sa in AgEntities.tbl_UserMaster 
                       on s.CreatedBy equals sa.User_IndexID 
                       select new { s, sa }).ToList();
    return resultsList;
}

但是我得到下面的错误:

不能隐式地将类型System.Collections.Generic.List<AnonymousType#1>转换为System.Collections.Generic.List<Solution.Bussines.Entities.tbl_KidsMagazines>

返回List<T>在方法

您正在创建一个匿名类型的列表,但是您的返回类型是List<tbl_KidsMagazines>,因此您必须在查询中创建tbl_KidsMagazines而不是匿名类型的列表。像这样的代码应该可以工作:

var resultsList = (from s in AgEntities.tbl_KidsMagazines
                   join sa in AgEntities.tbl_UserMaster 
                       on s.CreatedBy equals sa.User_IndexID 
                   select new { s, sa })
                  .AsEnumerable()
                  .Select(x => new tbl_KidsMagazines { // set properties })
                  .ToList();

设置返回类型为对象

方法的返回类型是List<tbl_KidsMagazines>

而在代码中,你是返回两个表的混合,其类型没有在任何地方声明,即它是一个匿名类型。