1から0..1の関係を持つ2つのエンティティProcessTemplateOperationとProcessTemplateMetaInformationが与えられます
ProcessTemplateMetaInformationを持つProcessTemplateOperationを追加すると、Context.ApplyChangesで次のエラーが発生します(EFではAddHelper.AddAllEntitiesにあります:context.AddObject)
多重度制約に違反しました。リレーションシップ「...FK_ProcessTemplateOperation_MetaInformation」のロール「ProcessTemplateOperation」の多重度は1または0..1です。
EntityFrameworkコードにとどまっているデバッガーは、オペレーションにメタ情報があることを示しているため、途中で失われることはありません。
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があります。
助けてくれてありがとう!