モデルを適切にセットアップする方法について少し混乱しています。以下に私のPOCOが表示されます.IDを自動インクリメントする方法と、データ注釈[キー]を設定する必要があるかどうか疑問に思っています. EF に ID/主キーを認識させる何らかの命名規則はありますか、それとも [キー] データ注釈を使用する必要がありますか?
また、子エンティティに[Key]データアノテーションを設定する必要はありますか?
public class User
{
[Key]
public int UserId { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public DateTime Reg { get; set; }
public virtual ICollection<Stats> Stats { get; set; }
}
public class Stats
{
[Key]
public int StatId { get; set; }
public string Age { get; set; }
public string Height { get; set; }
public string Weight { get; set; }
public bool Sex { get; set; }
}
public class BodylogContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Stats> Stats { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer<BodylogContext>(null);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}