10
我似乎无法在流利的API中找到一对多的关系语法。流利的API - 一对多
作为一个例子我有两个表如下
用户
Id
Name
UserHistory
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);
什么是一对多关系的正确语法?
从技术上讲,我可以通过添加一个新表将其分解为多对多,但我不想引入另一个表。
如果UserHistory UserId为空,那么它会是WithOptional()? – fes
@fes:是的,没错。 – Slauma