我使用实体框架和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>
答案 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>
在代码中你返回的是两个表的混合,其类型尚未在任何地方声明,即它是一个匿名类型。