【发布时间】:2013-01-13 01:33:55
【问题描述】:
我似乎在 fluent API 中找不到一对多关系语法。
作为一个例子,我有两个如下表
用户
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);
一对多关系的正确语法是什么?
从技术上讲,我可以通过添加一个新表将其分解为多对多,但我不想引入另一个表。
【问题讨论】: