5

生成された POCO クラスと Entity Framework を使用しています。

コードの複雑さを軽減するために、データベースに外部キー制約を保持したまま、すべてのナビゲーション プロパティをコードから削除しようとしています (ナビゲーション プロパティは、私たちにとって良いことよりも害を及ぼします)。

POCO クラスから手動で削除すると、次のエラーが発生します。

エンティティ タイプ UserEntity は、現在のコンテキストのモデルの一部ではありません

それらを .edmx ファイルから削除しようとすると、次のエラーが発生します。

エラー 3 エラー 3015: 行 479、562 で始まるフラグメントのマッピングの問題: テーブル StorageContract (OwnerUserID) からテーブル User (ID) への外部キー制約 'fk_StorageContracts_User1':: 不十分なマッピング: 外部キーは、参加している一部の AssociationSet または EntitySet にマップする必要があります概念側の外部キー アソシエーションで。

対応する FK を削除せずに POCO クラスからナビゲーション プロパティを削除する方法はありますか?

4

1 に答える 1

1

これが古いことは知っていますが、まだ答えがないので、試してみようと思いました:

私はまだEF 4.0で作業していますが、あなたが参照した例に従って、xxx​​Model.ttがあります。それを微調整したい場合は、Navigation プロパティを生成する場所を見つけて、それらを単純な自動プロパティに変更できます。次のように生成した同様のプロジェクトがありました。

public List<NavDataX> NavDataXs
{
    get; set;
}

現在、それらはまだそこにありますが、明示的に設定するまでは null です。このようにして、私はEDMXをいじらず、あなたが言及した2つのエラーに遭遇しませんでした.

于 2012-07-24T15:46:15.470 に答える