2012-05-04 8 views
5

生成されたPOCOクラスとEntity Frameworkを使用しています。エンティティフレームワークのPOCOクラスからナビゲーションプロパティを削除する

コードをもっと複雑にするために、私はコードからすべてのナビゲーションプロパティを削除しようとしていますが、データベースには外部キーの制約があります(ナビゲーションプロパティは私たちには悪い影響を与えます)。

私はPOCO-クラスから手動で削除した場合、私は次のようなエラー

The entity type UserEntity is not part of the model for the current context

を取得し、私は.edmxファイルからそれらを削除しようとすると、私は次のエラーを取得する:

Error 3 Error 3015: Problem in mapping fragments starting at lines 479, 562:Foreign key constraint 'fk_StorageContracts_User1' from table StorageContract (OwnerUserID) to table User (ID):: Insufficient mapping: Foreign key must be mapped to some AssociationSet or EntitySets participating in a foreign key association on the conceptual side.

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

私はまだEF 4.0で働いていますが、:まだ返事がないので

+0

ナビゲーションプロパティにはどのような問題がありますか? – Eranga

+0

"生成されたPOCOクラス"を使用すると、モデルを先に操作していますか?どの時点で "エンティティタイプUserEntityは現在のコンテキストのモデルの一部ではありません"というエラーが表示されますか? –

+0

@SteveWilkes:私はこのアプローチを使用しています。http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx(with EF4.3)。私はdbからエンティティを取得しようとするとエラーが発生します。 – Yrlec

答えて

1

私は、これは古いですけど、私は、私はそれを試してみると思いましたあなたはxxxModel.ttを持っています。それを微調整したい場合は、ナビゲーションプロパティを生成する場所を見つけて、それらを簡単な自動プロパティに変更することができます。

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

これはまだ存在しますが、明示的に設定するまではnullです。このようにして、私はEDMXを台無しにしなかったし、あなたが言及した2つのエラーに遭遇しなかった。

+0

EF 5.0の問題を追跡するのに役立つ質問とこの回答の両方に+1してください。 私の場合、.ttファイルはグローバル(大).edmxファイルを指す別のプロジェクトにあります。私は不要なクラスとナビゲーションプロパティの出力を抑制するためにそれを微調整しましたが、コンテキストがオブジェクトをロードしない理由を理解できませんでした。 エンティティタイプ[NAME]が現在のコンテキストのモデルの一部ではありません。ほとんどのWeb検索結果では、マッピングの問題ではなく接続の問題が示唆されています。 –

関連する問題