fes*_*fes 13 entity-framework-5
我似乎无法在流畅的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)
一对多关系的正确语法是什么?
从技术上讲,我可以通过添加新表将其分解为多对多,但我不想引入另一个表.
Sla*_*uma 27
在您的模型中,User实体有许多 Histories ,每个历史记录都有一个必需的, User并且该关系具有一个名为的外键UserId:
modelBuilder.Entity<User>()
.HasMany(u => u.Histories)
.WithRequired()
.HasForeignKey(h => h.UserId);
Run Code Online (Sandbox Code Playgroud)
(必须要求关系(非可选),因为外键属性UserId不可为空.)
| 归档时间: |
|
| 查看次数: |
13364 次 |
| 最近记录: |