首先是反向工程师代码 - 没有现有的数据库关系

时间:2013-06-03 15:29:02

标签: entity-framework ef-code-first entity-framework-4.1 one-to-many

我刚刚开始使用逆向工程师Code First,我找到了一个无法找到答案的拦截器。

我已经映射了三个没有在数据库端设置任何关系的表。

  • 错误 - 列是ErrorID,ErrorName等..
  • 用户 - 列是UserID,用户名等......
  • ErrorUsers - 列是ErrorUsersID,ErrorID,UserID

这个想法是错误可能有一个或多个用户对此负责。我希望能够运行查询,这些查询将返回所有相应用户的所有错误。

在我的Errors类中,我添加了一个名为:

的属性
public virtual ErrorUser ErrorUsers { get; set; }

到我的ErrorMap.cs,我添加了

this.HasRequired(e => e.ErrorUsers)
                .WithMany()
                .HasForeignKey(e => e.ErrorID);

但是,当我运行查询以返回所有相应用户的所有错误时,我收到以下错误:

System.Data.Entity.ModelConfiguration.ModelValidationException was unhandled by user code
  Message=One or more validation errors were detected during model generation:

    System.Data.Edm.EdmAssociationEnd: : Multiplicity is not valid in Role 'Error_ErrorUsers_Source' in relationship 'Error_ErrorUsers'. Because the Dependent Role refers to the key properties, the upper bound of the multiplicity of the Dependent Role must be ?1?.

  Source=EntityFramework

我一直在寻找过去几个小时的答案,我能找到的唯一代码示例是那些使用我试图避免的视觉.edmx风格的代码。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我放弃了这个,我用键重新创建表并重新导入所有内容