给定两个实体 ProcessTemplateOperation 和 ProcessTemplateMetaInformation 的关系为 1 到 0..1
当我添加一个具有 ProcessTemplateMetaInformation 的 ProcessTemplateOperation 时,我在 Context.ApplyChanges 处收到以下错误(在 EF 中它位于 AddHelper.AddAllEntities: context.AddObject 中)
违反了多重性约束。关系“...FK_ProcessTemplateOperation_MetaInformation”的角色“ProcessTemplateOperation”具有多重性 1 或 0..1。
留在 EntityFramework 代码中的调试器说 Operation 有一个 Metainformation,所以它不会在途中丢失。
RelationShip 的定义是
<AssociationSet Name="FK_ProcessTemplateOperation_MetaInformation" Association="FireStartDBModel.Store.FK_ProcessTemplateOperation_MetaInformation">
<End Role="ProcessTemplateOperation" EntitySet="ProcessTemplateOperation" />
<End Role="ProcessTemplateMetaInformation" EntitySet="ProcessTemplateMetaInformation" />
</AssociationSet>
<Association Name="FK_ProcessTemplateOperation_MetaInformation">
<End Role="ProcessTemplateOperation" Type="FireStartDBModel.Store.ProcessTemplateOperation" Multiplicity="1">
<OnDelete Action="Cascade" />
</End>
<End Role="ProcessTemplateMetaInformation" Type="FireStartDBModel.Store.ProcessTemplateMetaInformation" Multiplicity="0..1" />
<ReferentialConstraint>
<Principal Role="ProcessTemplateOperation">
<PropertyRef Name="Id" />
</Principal>
<Dependent Role="ProcessTemplateMetaInformation">
<PropertyRef Name="Id" />
</Dependent>
</ReferentialConstraint>
</Association>
<AssociationSet Name="FK_ProcessTemplateOperation_MetaInformation" Association="FireStartDBModel.FK_ProcessTemplateOperation_MetaInformation">
<End Role="ProcessTemplateOperation" EntitySet="BaseOperation" />
<End Role="ProcessTemplateMetaInformation" EntitySet="BaseMetaInformation" />
</AssociationSet>
ProcessTemplateOperation 有一个 NavigationProperty,但 ProcessTemplateMetaInformation 上没有 Navigation 属性。
我们正在使用 TPC 和 ProcessTemplateOperation 有一个基类 BaseOperation 和一个派生类 ProcessOperation ...
谢谢你的帮助!