我如何使用模型构建器来映射这样的东西?哪里有一个可以为空的外键引用相同的表主键
Table: Task
taskID int pk
taskName varchar
parentTaskID int (nullable) FK
任务类别:
public class Task
{
public int taskID {get;set;}
public string taskName {get;set;}
public int parentTaskID {get;set;}
public Task parentTask {get;set;}
}
...
modelBuilder.Entity<Task>()
.HasOptional(o => o.ParentTask)....
以下代码为您提供了所需的架构。请注意,您还需要定义ParentTaskID
外键作为可为空整数,就像我下面所做的那样。
public class Task
{
public int TaskID { get; set; }
public string TaskName { get; set; }
public int? ParentTaskID { get; set; }
public Task ParentTask { get; set; }
}
public class Context : DbContext
{
public DbSet<Task> Tasks { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Task>()
.HasOptional(t => t.ParentTask)
.WithMany()
.HasForeignKey(t => t.ParentTaskID);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)