我似乎无法在流畅的API中找到一对多的关系语法.
作为一个例子,我有两个表如下
用户
Id
Name
Run Code Online (Sandbox Code Playgroud)
UserHistory
Id
UserId
Date
Run Code Online (Sandbox Code Playgroud)
在课程中,我有以下内容
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; }
}
Run Code Online (Sandbox Code Playgroud)
我尝试过以下但我不确定它是否真的正确.
modelBuilder.Entity<User>()
.HasRequired(w => w.Histories)
.WithMany();
modelBuilder.Entity<User>()
.HasMany(f => f.Histories)
.WithOptional()
.HasForeignKey(f => f.UserId);
Run Code Online (Sandbox Code Playgroud)
一对多关系的正确语法是什么?
从技术上讲,我可以通过添加新表将其分解为多对多,但我不想引入另一个表.