Chr*_*eis 4 entity-framework data-modeling code-first entity-framework-4 entity-framework-ctp5
我如何使用modelBuilder映射这样的东西?其中可以为空的外键引用相同的表主键
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);
    }
}
| 归档时间: | 
 | 
| 查看次数: | 2941 次 | 
| 最近记录: |