2016-12-12 16 views
0

をDynamicEntityを追加することはできません:私は2つのエンティティのフィールドを持っているContentypeを、持っています。 Entityfieldsの1つが満たされ、1つが空です。データを取得しました(DynamicEntity as result1)。空のエンティティフィールドについては、メソッドのデフォルト値(result2という名前のDynamicEntity)があります。今私は空のプロパティのresult1 result2を追加したいと思います。 add-methodはエラーをスローしませんが、プロパティはnullのままです......私は特別な問題を抱えているジェネリックリストに</p> <p>Szenarioを

例: contenttypeの名前はヘッダーです。

フィールド:TITEL(文字列)、フォント(entityfield)、色(entityfield)

データ: "タイトル"、contentTypeのフォント、何も選択されていないから一つの項目を選択しました。

result1にデータを取得します。結果1はタイプToSic.SexyContent.DynamicEntityからである

result1.FontはSystem.Collections.GenericList`1は[ToSic.SexyContent.DynamicEntity]と私はresult1.Font [0] .nameのにアクセスすることができますタイプであり、値を得た

result1.Colorは

結果2が型ToSic.SexyContent.DynamicEntityからである(result1.Color.Count 0私に与える)System.Collections.GenericList`1 [ToSic.SexyContent.DynamicEntity]と値ヌル型で

これでresult2をresult1.Color.Add(result2)で追加します。結果1になります。エラーはありませんが何も起こりません。私がresult1.Color [0] .nameにアクセスしようとすると、System.ArgumentOutOfRangeExceptionエラーが発生しました...

すべてのヒント?

+0

これは混乱しています。あなたがこれをやろうとしているところで詳細を提供してください。それは剃刀のテンプレート、Webアプリでですか?あなたは出力のためにリストをマージしようとしているのですか、またはdbのデータを変更しようとしていますか? – iJungleBoy

+0

これは剃刀のテンプレートにあり、私は出力のためにリストをマージしようとしています。通常のものだけ... ...--) –

答えて

0

私はあなたがエンティティの2つのリストを持っていることを理解し、それらをマージして後で出力することを望んでいます。

私も正しく理解していれば、リストの1つは既存のエンティティ(Team.Membersのようなもの)のプロパティで、他のエンティティを追加しようとしました - Team.LembersをTeam.Membersコレクションに追加しようとしました、正しい?

この場合、エンティティとそのデータが読み取り専用であるため、エンティティプロパティを変更してエンハンスすることを間違えてください。

あなたがしなければならないことは、これらのエンティティの新しいリスト/コレクションを作成し、それをループすることだけです。手動でList<DynamicEntity> xyz = new List<DynamicEntity>();のようにこれを行い、追加することもできますし、LINQを使って同じことをすることもできます。

+0

ああ、私はreadonlyを見ませんでした...私は両方のDynamicEntitysから値を取得してExpandoObjectで私の問題を解決しました。ありがとうございました! –

+0

完璧 - 最高の答えとしてマーク:) – iJungleBoy

関連する問題