0

私が試しているのは次のとおりです。

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 型を使用できる場合var sList、次のエラーがスローされます。

<LSB.HM.AHME>.Addいくつかの無効な引数があります

4

3 に答える 3

0

すべてと Writwick に感謝します。

foreach ループを使用して var sList を反復処理し、sList の項目を ListS に追加しました。概念的には、sList にはオブジェクトのリストが含まれており、ListS に 1 つずつ追加する必要があるため、そのようにする必要があると思います。 .

于 2013-06-18T06:59:26.573 に答える