【发布时间】:2013-06-18 06:36:14
【问题描述】:
我正在尝试以下内容:
public class AHME
{
public string elementName { get; set; }
public long? elementID { get; set; }
public AHME[] children { get; set; }
public static AHME[] GetAHME()
{
var listS = new List<AHME>();
using (var db = new DBEntities())
{
AHME sList = db.Stnd.Select(s => new AHME
{
elementID = s.ID,
elementName = s.Name,
}).ToList();
listS.Add(sList);
var listT = new List<AHME>();
using (var db = new DBEntities())
{
AHME tList = db.Tr.Join(db.Us, t => t.ID, u => u.ID, (t, u) => new AHME
{
elementID = t.ID,
elementName = u.FirstNames + " " + u.LastName,
children=listS.ToArray(),
});
listT.Add(tList).ToList();
}
return listT.ToArray();
}
}
}
但我收到如下错误:
无法将类型“
System.Collections.Generic.List<LSB.HM.AHME>”隐式转换为“LSB.HM.AHME”无法将类型“
System.Linq.IQueryable<LSB.HM.AHME>”隐式转换为“LSB.HM.AHME”。存在显式转换(您是否缺少演员表?)
另外,对于“AHME sList”,如果我可以使用像var sList 这样的var 类型,
那么它的抛出错误是:
<LSB.HM.AHME>.Add有一些无效的论点
【问题讨论】:
-
在查询开始时尝试
List<AHME> sList =。 -
您能指出哪些 行 产生了这些错误吗?该信息应该在编译器输出中。并且不要只说行号 - 在发生错误的代码行末尾添加 cmets。
-
我认为你应该先学习 C# 的基础知识,然后再开始涉足 LINQ。
-
如果您再次编辑,请注意我们中的一些人一直在尝试修复您的格式,因为
<>尖括号不会出现在简单的叙述文本中,我们必须将其标记为代码. -
@Euphoric - 为什么你认为 OP 不了解 C# 的基础知识?