【发布时间】:2016-04-01 05:06:33
【问题描述】:
我遇到了一些关于首先使用 EF 代码映射对象的问题。
我有三个班级:
-员工 -AssesmentOnEmployee -评估
Employee 与 AssesmentOnEmployee 是一对多的关系 AssesmentOnEmployee 与 Assement 是一对一的关系。
代码:
public class AssesmentOnEmployee
{
public int AssesmentOnEmployeeId { get; set; }
public DateTime CreatedDate { get; set; }
public virtual Assesment Assesments { get; set; }
public virtual int AssesmentUserId { get; set; }
public virtual Employee AssesmentUser { get; set; }
}
public class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public virtual ICollection<AssesmentOnEmployee> AssesmentOnEmployees { get; set; }
}
AppContext.cs:
modelBuilder.Entity<AssesmentOnEmployee>()
.HasRequired(t => t.Assesments)
.WithRequiredDependent(t => t.AssesmentOnEmployee);
modelBuilder.Entity<Employee>()
.HasMany(t => t.AssesmentOnEmployees)
.WithRequired(t => t.AssesmentUser).HasForeignKey(x => x.AssesmentUserId);
当我尝试添加迁移和更新数据库时,我收到此错误:
对象“PK_dbo.AssesmentOnEmployee”依赖于列“AssesmentOnEmployeeId”。 ALTER TABLE DROP COLUMN AssesmentOnEmployeeId 失败,因为一个或多个对象访问此列。
有人可以解决我的问题吗?
【问题讨论】:
标签: entity-framework model ef-code-first mapping