mvc实体框架试图处理重复

时间:2012-08-15 12:47:22

标签: asp.net-mvc entity-framework entity-framework-4.1

所以我试图找出如何处理重复项,我想到的一种方法就是将类型重新指定为相同的类型

例如

public class Employee
{
    public int Id {get;set;}
    public string Name {get;set;}
    public int? RemappingId {get;set;}

    public virtual Employee Remapping {get;set;}
}

所以,基本上,任何人都可以注册,但由于我不能对此部分进行任何验证,如果有人意外地保存了一份重复的员工,我计划有一些管理页面将重复的员工映射为“主要”员工。

但是我收到了这个错误:

  

无法确定之间关联的主要结束   类型必须明确表示此关联的主要结尾   使用流畅的API或数据注释配置

所以我不确定这是否是处理重复的正确方法,如果不是,请指出我正确的方向。如果可以接受,你有没有机会帮我阻止错误?

谢谢!

非常感谢!

1 个答案:

答案 0 :(得分:0)

所以我不确定这是否是处理重复项的正确方法:是的,它确实不是一个好方法。而且你也知道:)

我建议你怎么做

当您使用“员工”时,我假设会有一些ID对于Employee来说是唯一的(如EmployeeID)。因此,通过将这样的id作为主键,您可以执行简单的ifExists检查并在视图上显示相应的消息。

更新 如果员工没有任何独特之处(甚至不是电子邮件或employeeId等),那么根据我的数据库设计是错误的。但这又是我的个人意见。

希望这有帮助。