エンティティの基本クラスを実装したいので、各エンティティでGUIDIDフィールドを定義する必要はありません。次の基本クラスを作成しました。
public abstract class IdableEntity
{
[Key]
public Guid Id { get; set; }
protected IdableEntity()
{
Id = Guid.NewGuid();
}
}
これは、私が知っている限り、この場合は[DatabaseGenerated ...]属性を使用できるためです。これは、データベースに移動し、すべてのテーブルのIDフィールドを変更して(newid())を呼び出す必要があるためです。 「初期化子」。多くのエンティティクラス、つまり多くのテーブルがある場合、これは非常に不便です。
しかし、今度は、各子クラスの基本コンストラクターを呼び出してコンストラクターを定義解除する必要がありますよね?もしそうなら、それも価値がありますか?