2017-11-06 6 views
2

[OK]を、複数の質問()を追加します。私は、メソッド内)AddAsyncとの差が、(明らか 非同期外)(何であるかを理解し)と(追加しようとしていますAddAsync()対EFコアにここ

  • をEFコア?
  • いつどちらか一方を選択しますか?

  • 一貫性のために重複して選んでも問題はありませんか? source codeから

答えて

2

のみ可能にする非同期(async)

この方法は、そのように 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo' により使用されるもの、 として特殊値発生器、非同期にデータベースにアクセスします。それ以外の場合は、 非同期メソッドを使用する必要があります。

だからあなたは新しい値がAddAsync()を使用し、その後、このようSequenceHiLo発電などの新しいエントリに割り当てる取得するためにDBにアクセスする必要がある場合があります値発生器を使用している場合。

+0

私は最後の行にアドバイスを得ていません。確かに選択はEF対EfCoreではなくあなたのアイデンティティシステムに依存します。私は常にAddAsync()を使用します。疑問がある場合は、おそらくAdd()が最適化であるべきです。 –

+0

私は実際にドキュメントの行を誤解しました:)コメントをありがとう。実際には、データベースにアクセスする必要のある値ジェネレータを使用しているかどうかによって異なります。 – juunas

+0

明確にするために - _project_に値を生成するが、データベースにアクセスする必要がある値ジェネレータを使用するか? これは、たとえば、データベースではなくプログラムによって計算されるため、Identity列は含まれません。正しい? – LiHRaM