实体框架映射问题

rog*_*nin 4 entity-framework asp.net-mvc-4

我在mvc上使用实体框架,但我遇到了这个方法的问题.我所做的只是下面的反射方法,不明白为什么我得到一个字段映射错误.

我也在这里提到的字段中得到以下错误.

错误: -

Error   13  Error 3021: Problem in mapping fragments starting at line 205:Each of the following   
columns in table FormBuilder_Form_Fields is mapped to multiple conceptual side properties:
FormBuilder_Form_Fields.ID is mapped to <FormFieldsForm.Form.ID, FormFieldsForm.FormFields.ID>
 C:\NewDevelopment\CaseddimensionsCMS\CaseddimensionsCMS\CaseddimensionsCms.edmx    206 11  CaseddimensionsCMS

Error   14  Error 3021: Problem in mapping fragments starting at line 228:Each of the following columns in table FormBuilder_field_values is mapped to multiple conceptual side properties:
FormBuilder_field_values.ID is mapped to <FormFieldValues.FieldValues.ID, FormFieldValues.Form.ID>
Run Code Online (Sandbox Code Playgroud)

我不确定这对实体框架来说意味着什么.

我在布局设计器中包含了edmx文件的屏幕截图:

PIC

这是我的edmx文件的pastbin

http://pastebin.com/GeL6mZd4

至于代码不想在这里发布它.

Naz*_*lov 6

遇到同样的问题,我在这里找到了解决方案.简而言之,你应该:

修复此重复映射问题需要引用约束,设计人员仅在下一版本中支持,因此保存edmx文件,关闭它,然后在解决方案资源管理器中右键单击它,选择"打开方式..."并双击" XML编辑器".

在CSDL部分中,您将看到ProductProductImages关联:

更新您的关联,例如:

<Association Name="FormsFormsFields">
  <End Type="TableSplittingModel.Forms" Role="Form" Multiplicity="1" />
  <End Type="TableSplittingModel.FormFields" Role="FormFields" Multiplicity="1" />
</Association>
Run Code Online (Sandbox Code Playgroud)

通过添加ReferentialConstraint

<Association Name="FormsFormFields">
  <End Type="TableSplittingModel.Forms" Role="Forms" Multiplicity="1" />
  <End Type="TableSplittingModel.FormFields" Role="FormFields" Multiplicity="1" />
  <ReferentialConstraint>
    <Principal Role="Forms"><PropertyRef Name="id"/></Principal>
    <Dependent Role="FormFields"><PropertyRef Name="id"/></Dependent>
  </ReferentialConstraint>
</Association>
Run Code Online (Sandbox Code Playgroud)