質問: false; ``` **質問:** これは、EFコアで計算されたプロパティを設定する正しい方法ですか? さらに、最初の場所でLastUpdatedが「読み取り専用」として定義されないようにすることはできますか?
回答: > これはEF Coreで計算されたプロパティを設定する正しい方法ですか? > > これに関するドキュメントは非常に明確です。 > 追加または更新時に生成される値は、レコードが保存(挿入または更新)されるたびに新しい値が生成されることを意味します。 > > **注意** > > 追加および更新されたエンティティに対して値が生成される方法は、使用されているデータベースプロバイダーによって異なります。 (...)追加または更新時にDateTimeプロパティが生成されるように指定する場合、値が生成される方法(データベーストリガーなど)を設定する必要があります。 > > 注釈の名前-"DatabaseGeneratedOption"-は、これらの行に沿って何かを明らかにした可能性があります。 したがって、このパターンを使用する場合は、挿入および更新ごとにフィールド値を設定するトリガーをデータベースに設定する必要があります。アノテーション`[DatabaseGenerated]` *または* `.ValueGeneratedOnAddOrUpdate()` API `.ValueGeneratedOnAddOrUpdate()`使用する`.ValueGeneratedOnAddOrUpdate()`両方を行う必要はありません)、EFは変更を保存した後にデータベースから値を読み取る必要があることを通知されます。 `IsReadOnlyBeforeSave`プロパティについては。これまでの唯一のドキュメントは、EFのソースコードのプロパティに関するXMLドキュメントです。 > エンティティがデータベースに保存される前にこのプロパティを変更できるかどうかを示す値を取得または設定します。 trueの場合、 `Added`状態のときにこのプロパティに値が割り当てられると、例外がスローされます。 > > 私が見る限り、この値を`true`に設定して、このプロパティの設定が有用であるという期待を排除することができます(そうではないため)。同様に、 `IsReadOnlyAfterSave`を設定して、プロパティが既存の( `Added`されていない)エンティティに設定されている場合に例外をスローできます。 データベースで生成された値が必要ない場合は、注釈を削除して、現在のように値を割り当てることができます。