用户表:WSMP_Users包含:
WSMP_UserID WSMP_UnitID WSMP_DepartmentID
单位表包含:WSMP_UnitID
部门表包含:WSMP_DepartmentID WSMP_UnitID
创建的时候报错如下:
将 FOREIGN KEY 约束 'WSMP_Unit_Users' 引入表 'WSMP_User' 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
无法创建约束。请参阅前面的错误消息。
请大家帮忙 看看 怎么解决
你的创建语句是什么样的?
/// <summary>
/// 单位基本信息
/// </summary>
public class WSMP_Unit
{
/// <summary>
/// 单位编号
/// </summary>
[Key]
public virtual int WSMP_UnitID { get; set; }
/// <summary>
/// 单位中文名称
/// </summary>
[Required(ErrorMessage = "*")]
[StringLength(50)]
[Display(Name = "单位名称")]
public virtual string Unit_CName { get; set; }
/// <summary>
/// 单位英文名称
/// </summary>
[Required(ErrorMessage = "*")]
[StringLength(60, MinimumLength = 1, ErrorMessage = "最短为1个字符")]
[Display(Name = "英文名称")]
public virtual string Unit_EName { get; set; }
}
/// <summary>
/// 员工信息表
/// </summary>
public class WSMP_Employees
{
/// <summary>
/// 员工编号
/// </summary>
[Key]
public virtual int WSMP_EmployeesID { get; set; }
/// <summary>
/// 单位(与WSMP_Unit 单位信息表 关联)
/// </summary>
public virtual int WSMP_UnitID { get; set; }
/// <summary>
/// 部门(与WSMP_Department 与部门信息表 关联)
/// </summary>
public virtual int WSMP_DepartmentID { get; set; }
/// <summary>
/// 所属项目组(与WSMP_Group 与项目人员信息表 关联)
/// </summary>
[Required(ErrorMessage = "*")]
public virtual int WSMP_GroupID { get; set; }
/// <summary>
/// 员工名称
/// </summary>
[Required(ErrorMessage = "*")]
[StringLength(100)]
[Display(Name = "员工名称")]
public virtual string Employee_CName { get; set; }
}
运行时报错:
将 FOREIGN KEY 约束 'WSMP_Employees_WSMP_Unit' 引入表 'WSMP_Employees' 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
无法创建约束。请参阅前面的错误消息。
麻烦您帮我看看
@明空:
仅根据你帖出来的代码看不出来啊,这里没有外键信息
另外,为什么都加virtual 关键字呢?
@artwl:
/// <summary>
/// 单位基本信息
/// </summary>
public class WSMP_Unit
{
/// <summary>
/// 单位编号
/// </summary>
[Key]
public virtual int WSMP_UnitID { get; set; }
/// <summary>
/// 单位中文名称
/// </summary>
[Required(ErrorMessage = "*")]
[StringLength(50)]
[Display(Name = "单位名称")]
public virtual string Unit_CName { get; set; }
/// <summary>
/// 员工集合
/// </summary>
public virtual List<WSMP_Employees> WSMP_Employeess { get; set; }
}
/// <summary>
/// 员工编号
/// </summary>
[Key]
public virtual int WSMP_EmployeesID { get; set; }
/// <summary>
/// 单位(与WSMP_Unit 单位信息表 关联)
/// </summary>
public int WSMP_UnitID { get; set; }
/// <summary>
/// 部门(与WSMP_Department 与部门信息表 关联)
/// </summary>
public int WSMP_DepartmentID { get; set; }
/// <summary>
/// 所属项目组(与WSMP_Group 与项目人员信息表 关联)
/// </summary>
public int WSMP_GroupID { get; set; }
/// <summary>
/// 员工名称
/// </summary>
[Required(ErrorMessage = "*")]
[StringLength(100)]
[Display(Name = "员工名称")]
public virtual string Employee_CName { get; set; }
/// <summary>
/// 单位
/// </summary>
public virtual WSMP_Unit WSMP_Units { get; set; }
/// <summary>
/// 部门
/// </summary>
public virtual WSMP_Department WSMP_Department { get; set; }
/// <summary>
/// 项目组
/// </summary>
public virtual WSMP_Group WSMP_Group { get; set; }
}
麻烦您帮我看看 这样写对不对?谢谢!