2

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があります。

助けてくれてありがとう!

4

1 に答える 1

1

問題を解決しました。

サークルで実行されているNavigationpropertiesがいくつかありました。

それらを削除し、すべてが正常に機能するようになりました。

于 2012-06-14T10:01:16.770 に答える