在方法</t>中返回List <t>时出错

时间:2014-08-06 12:29:18

标签: c# linq

我使用实体框架和LinQ使用两个表中的get List。这是我的代码:

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>

2 个答案:

答案 0 :(得分:2)

您正在创建匿名类型的列表,但您的返回类型为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();

答案 1 :(得分:0)

将返回类型设置为对象。

您的方法的返回类型为List<tbl_KidsMagazines>

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