代码第一Fluent API,我怎么能
本文关键字:怎么能 API Fluent 代码 | 更新日期: 2023-09-27 18:24:37
如何首先在EF4.1代码中使用流利的api?
public class employee
{
public int employeeId{ get; set; }
public string name{ get; set; }
}
public class employeeDeparment
{
public int Id{ get; set; }
public int employeeId{ get; set; }
public int bossId{ get; set; }
public int DeparmentId{ get; set; }
public virtual employee employees { get; set; }
public virtual employee boss { get; set; }
public virtual deparment deparments{ get; set; }
}
public class deparment
{
public int deparmetId{ get; set; }
public string Name { get; set; }
}
试试这个,但不工作
modelBuilder.Entity<deparment>()
.HasOptional(c => c.boss )
.WithMany()
.HasForeignKey(c => c.bossId);
它在数据库中的样子
编辑:数据库正确http://subir-imagenes.es/?v=bdcorrect.png
modelBuilder.Entity<EmployeeDeparment>().HasMany(x => x.Employees)
.WithRequired(x => x.EmployeeDepartment).HasForeignKey(x => x.EmployeeId);
modelBuilder.Entity<EmployeeDeparment>().HasMany(x => x.Bosses)
.WithRequired(x => x.EmployeeDepartment).HasForeignKey(x => x.bossId);
另一个解决方案是不定义中间表(它将由EF创建)
public class employee
{
public int employeeId{ get; set; }
public string name{ get; set; }
public ICollection<department> departments { get;set; }
}
public class deparment
{
public int deparmetId{ get; set; }
public string Name { get; set; }
public ICollection<employee> employees { get;set; }
public ICollection<employee> bosses { get;set; }
}