EF コードファースト 自動でIDの生成

2021-07-24
EF
CodeFirst

コードファストでデータベースのスキーマを管理されているときに、自動でIDを生成したときのメモです。

自動でIDを生成するときは

  1. GUID で文字列生成
  2. int または long で連番の生成

のどちらかになるかと思います。(他の例もあるとは思いますが大半がこれ?)

GUID で文字列生成

データインサート時に勝手にGUID生成して挿入しておいてほしい場合は下記です。


[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public Guid Id { get; set; }

ただ、GUID指定するときは、事前にアプリケーション側で生成することによって紐づくデータを生成する際にそれをキーにするケースが多いので自動付与でデータ生成が終わるまでその値がわからない場合は若干不便。生成されたデータのIDを取得する方法もありますが、それはまた後程。

公開日: 2021-07-12