質問: Guid.NewGuid(); } [Key] public Guid Id { get; set; } } ``` `Guid`はSQLサーバーのシーケンシャルIDでバックアップされていると考えています。明示的に値を設定した場合、インデックスのパフォーマンスは低下します。シーケンシャルではなくなるためです。 私はこれについて答えを見つけることができませんでした、そして私はそれについて非常に興味があります。
回答: パフォーマンスの問題ではなく設計上の問題があります。モデルでは`id`生成しないでください。彼らの責任の範囲外です。リポジトリは`Add`メソッドで行います。 `Guid`はさまざまな方法で生成できます。たとえば、ランダムでも順次でもかまいません。どちらの方法でも生成するためのさまざまなアルゴリズムがあります。したがって、あなたはあなたの選択をただ一つに閉じます。 そしてモデル`id`が割り当てられる瞬間を強制しています。モデルを永続化する必要があるまでその割り当てを遅らせるためにこれを望んでいないのではないでしょうか。 *たとえば、ゼロ`Guid`は、一部のモデルがまだ永続的ではないことを知るのに役立ちます。*