0

私は EF を使用しているため、子コレクションの型は EntityCollection < T > です。プロパティ "Children" が EntityCollection < T > の場合、クエリ結果の IEnumerable < T > を EntityCollection < T > に変換するにはどうすればよいですか?

ありがとう

 var list = element.Elements(ns + "Parent")
        .Select(parsedXml => 
                        Children = parsedXml.Elements(ns + "Child")
                        .Select(child => new Child { 
                                                        Id = Convert.ToInt32(child.Attribute("id").Value)
                                                   })
                        });
4

2 に答える 2

2

すでに LINQ を使用しているため、拡張メソッドを作成することで同じモデルでこれを行うことができます。

public static EntityCollection<T> ToEntityCollection<T>(this IEnumerable<T> source) 
{
    var col = new EntityCollection<T>();
    foreach (var item in source)
    {
        col.Add(item);
    }
    return col;
}

.ToEntityCollection()次に、末尾に追加して、元の LINQ ステートメントでこれを使用します。

于 2012-06-08T01:38:35.343 に答える
0

利用可能な直接キャストはありません。コレクションをループして、新しいエンティティ コレクションに追加する必要があります。

var eCollection = new EntityCollection<T>();    
foreach (var child in list)
{
    eCollection.Add(child );
}
于 2012-06-08T01:20:40.017 に答える