流暢な API で 1 対多の関係構文を見つけることができないようです。
例として、以下のように2つのテーブルがあります
ユーザー
Id
Name
ユーザー履歴
Id
UserId
Date
クラスでは、私は次のことを持っています
public class User
{
public int Id { get; set; }
public virtual ICollection<UserHistory> Histories { get; set; }
}
public class UserHistory
{
public int Id { get; set; }
public int UserId { get; set; }
public DateTime Date { get; set; }
}
以下を試してみましたが、実際に正しいかどうかはわかりません。
modelBuilder.Entity<User>()
.HasRequired(w => w.Histories)
.WithMany();
modelBuilder.Entity<User>()
.HasMany(f => f.Histories)
.WithOptional()
.HasForeignKey(f => f.UserId);
一対多の関係の正しい構文は何ですか?
技術的には、新しいテーブルを追加することで多対多に分割できましたが、別のテーブルを導入したくありませんでした。