8

私は2つのテーブルを持っていReportsますVisualizations. Reportsには、外部キーを介して同じ名前の のフィールドVisualizationIDを指すフィールド があります。Visualizationまた、フィールドで宣言された一意のキーもあります。VisualizationIDnull可能ではありません。つまり、関係は 0..1 対 1 でなければなりません。これは、すべて Reportsのレコードに null ではない一意のVisualizationsレコードが関連付けられている必要があるためです。

Entity Framework は、このように認識しません。次のエラーが表示されます。

Error 113: Multiplicity is not valid in Role 'Report' in relationship 'FK_Reports_Visualizations'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be *.

ここで何が問題なのですか?適切な関係の多重度を EF に認識させるにはどうすればよいですか?

4

2 に答える 2

3

EFは、FKアソシエーションを使用しているように聞こえるため、不平を言っています。つまり、VisualizationIDはエンティティのプロパティであり、ビジュアライゼーション参照もあります。FKアソシエーションではこれを行うことはできません。

ただし、独立した関連付けを使用する場合(つまり、VisualizationIDプロパティがない場合)、カーディナリティを絞り込むことができます。

したがって、解決策は、エンティティからVisualizationIDプロパティを削除することです。その時点で、関連付けをマップする必要があります。

お役に立てれば

アレックス

于 2010-01-26T21:55:55.580 に答える
2

私はまったく同じ問題に出くわしました - アレックス、あなたの説明は私の場合は正しいですが、もちろん、概念モデルから FK 列を削除することで、後で関連するオブジェクトを変更して切り替えることができなくなりましたFK フィールドの値...これを行うには、古いトリックに戻る必要があります。

1 対 0..1 の関係、つまり FK フィールドも使用できるようにする計画はありますか?

グレッグ

(psコメントしたはずですが、私の担当者はまだ十分に高くありません!)

于 2010-02-24T14:52:00.530 に答える