1

EFを初めて使用し、「データベースファースト」で何かを試しています。

Error 3025: ... :Must specify mapping for all key properties
                    (PurchaseUsers.PurchaseUsersId) of table PurchaseUsers.

私は自分のdb 3テーブルに持っています:

Purchases       Participants        PurchaseUsers
PurchaseId      ParticipantId       PurchaseUsersId
...             ...                 PurchaseId
                                    ParticipantID

テーブルPurchaseUsersは、購入を使用している参加者を知るためのものです。

最初はそのテーブルに PK がありませんでしたが、ファイルを保存しようとすると次のエラーが発生しましたPurchase。少しグーグルで調べたところ、このエラーを回避するには PK を追加する必要があることがわかりました。

Unable to update the EntitySet 'PurchaseUsers' because it has a DefiningQuery 
   and no <InsertFunction> element exists in the <ModificationFunctionMapping> element 
   to support the current operation.

しかし、PK を追加するとマッピング エラーが発生し、これを解決する方法やマッピングを作成する方法がわかりません。テーブルPurchaseUsers自体は .edmx モデルには表示されませんが、モデル ブラウザーのストアに表示されます。

ありがとう。

アップデート

今日、データベースの列の名前を変更しました。「データベースからモデルを更新」により、モデル内のテーブルに新しい列名が追加されましたが、古い列は削除されませんでした。もう一度ゼロから始めなければなりませんでした。更新機能がうまく機能していないようです。

4

1 に答える 1

1

これは奇妙です。データベースからモデルを更新すると、モデルとデータベースが同期されます。モデルを削除して、最初から再作成してみてください。

于 2012-02-15T17:03:07.710 に答える