式からエンティティを更新するにはどうすればよいですか?式からエンティティを更新する(EF Core 2.0)
私は、更新するプロパティ(列)を動的に構築します。それを行う関数はExpression<Func<T, T>>
を返します。ここで、T
はentity
です。
Where
とSingle
を使用してデータベースからエンティティを読み込んでいます。
Expression<Func<T, T>> expr = this.CallVirtualMethodAndGetExpression(ModelFromRequest);
DbUser entity = this.context.Users.Where(t => t.Id == 1).Single();
some magic ??? //tried expr.Compile()(entity) but it does not work.
this.context.SaveChanges();
//use DbUser with updated properties of course.
私はEF Plus(バッチ更新)を使用することができます知っているが、私はSaveChanges
に固執したい(私はSaveChanges
後DbUser
を必要と私は別の要求を送信しないようにしたいです)。
更新日:
エンティティオブジェクトと式があります。さて、式に基づいてエンティティオブジェクトを編集し、エンティティを更新するSaveChanges
を呼び出す必要があります。
奨励金はお答えできません。あなたが達成しようとしていることは絶対に不明です。あなたは、あなたがコメントに参照しようとしていることを示すことから始めることができます。 –
私は問題の追加情報を追加します。私は追加の説明と私のコードは、私が達成しようとしているものを説明すると信じています。 – Makla
あなたが話している表現が、[オブジェクトから式を作成](https://stackoverflow.com/questions/47468652/build-expression-from-object)という一般的な表現で、あなたがこの質問から来ている場合は、一般的には '式> '、それは*更新*のために絶対に不適切です。更新のために 'new {...}'( 'Expression.MemberInit')を使わない' Expression 'が必要ですが、代入のブロックです。現在策定されている方法では、この質問は意味をなさない。 –