我有两个表:地址和联系人,它们通过ContactID(在联系人信息中)进行连接。这两个表都在我的实体数据模型中(EF 4.0),我不想对它们进行修改。
但是,我希望创建一个新实体,其中包含来自这两个实体的信息。
到目前为止,我的做法如下:
在CSDL中:
在我的C-S映射中:
我收到的错误信息是:
但是,我希望创建一个新实体,其中包含来自这两个实体的信息。
到目前为止,我的做法如下:
在CSDL中:
<EntityContainer...>
<EntitySet Name="AddressTest" EntityType="WebGearsModel.Test" />
<EntitySet Name="ContactTest" EntityType="WebGearsModel.Test" />
</EntityContainer>
<EntityType Name="Test">
<Key>
<PropertyRef Name="addressID" />
</Key>
<Property Type="Int32" Name="addressID" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
<Property Type="Int32" Name="contactID" Nullable="false" />
<Property Type="String" Name="firstName" Nullable="false" MaxLength="30" FixedLength="false" Unicode="false" />
<Property Type="String" Name="emailAddress" Nullable="false" MaxLength="150" FixedLength="false" Unicode="false" />
</EntityType>
在我的C-S映射中:
<EntitySetMapping Name="AddressTest">
<EntityTypeMapping TypeName="WebGearsModel.Test">
<MappingFragment StoreEntitySet="Address">
<ScalarProperty Name="addressID" ColumnName="addressID" />
<ScalarProperty Name="contactID" ColumnName="contactID" />
<ScalarProperty Name="firstName" ColumnName="firstName" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="ContactTest">
<EntityTypeMapping TypeName="WebGearsModel.Test">
<MappingFragment StoreEntitySet="Contact">
<ScalarProperty Name="contactID" ColumnName="contactID" />
<ScalarProperty Name="emailAddress" ColumnName="emailAddress" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
我收到的错误信息是:
当Contact实体中不存在AddressID时,我该如何映射AddressID?我猜我需要某种关联,但我不确定如何处理...请记住,我不想修改现有的Address和Contact实体。在从第150行开始的映射片段中出现问题:必须为实体集ContactTest的所有关键属性(ContactTest.addressID)指定映射。