2012-10-08 61 views
33

古いプロジェクトを改善するために、VS 2008とFramework 3.5を使用する状況が発生しました。 - 私はedmxに奇妙な挙動を示し、必須。エンティティフレームワークエラー - エラー11009:プロパティ ''がマップされていません

EDMXは私に上記のエラーがスローされますが、私はそれぞれのテーブルに移動し、それを右クリックしたとき - 「のアップデートモデルデータベースからの」変化がない、エラーがまだそこにあります。

モデルを選択してdelキーを押してテーブルを削除した場合、モデルブラウザでは.Databaseから消えますが、[データベースからモデルを更新]をクリックすると、[追加]リストには、プロジェクトをアップグレードする私にできることすべて私はまだリフレッシュリストでそれを見るので、(私はそれを削除したために起こるべきではない!)テーブルを「更新」され

+1

を、それがどこかにおそらくまだです。そのXMLファイルから手動で削除してから、もう一度更新を試みてください。あなたのバックアップを取る:) – Thousand

+0

あなたのsugegstionが働いた。私がクレジットを与えることができるように答えとして書き直してください –

+0

エラーからの行番号を取得してくださいxmlファイルはその行に行きますエラー保存で指定された名前のスケーラプロパティを追加してください.. –

答えて

41

お使いのモデルのxmlファイルを確認します。おそらくまだどこかにあります。そのXMLファイルから手動で削除し、再度更新を試みてください。しかし、バックアップを取ることを確認してください。

+2

ありがとう、これは解決策でした。そのエンティティを完全に削除してからxmlからすべてのトレースを削除してから、もう一度追加してストアドプロシージャを関数インポートとして再度追加する必要があります(エンティティを削除すると、 。ありがとう –

+0

これはやや解決策だと思います。残念ながら、モデルにもこのプロパティがあります。モデルのプロパティを削除して更新しようとすると、毎回更新ウィザードがクラッシュします。 – user1841243

2

回では、エラーをスローします。

ジャストインケースですべてのデータをバックアップしてください。

私たちは私たちのプロジェクトにエンティティモデルを追加すると、それは、対応する接続文字列にweb.configファイルを追加します。今度は、プロジェクトからモデルを削除すると、接続文字列がweb.configにまだ残っています。

ので、次の手順を実行します。

  1. は、モデル
  2. はゼロから再びモデルを追加する手順を実行し、今のweb.config
  3. から対応する接続​​文字列を削除します。

うまくいけば、それが動作するはずです。

+1

ダウン投票で問題はありません投票の理由を明記してください。この答えは、「受け入れられた答え」と同じことを伝えます。 –

+2

@Daradev、私は同意しません、あなたのソリューションは受け入れられたaswerとはまったく異なります。受け入れられた答えは、edmx(xml)ファイル内の古い/変更されたプロパティを削除し、再度更新すると言います。あなたは私たちにモデルを完全に削除してもらいたい、それはあまりにもうまくいくが、それはまったく同じではない。 – Michiel

3

テーブルまたはビューの列名が大文字と小文字を変換する前に、これと同じエラーが発生しました。たとえば、ビューに「OrderID」という名前の列があり、列名が「OrderId」に変更された場合、「プロパティ」のOrderID「マップされていません」というエラーが表示されます。これは、ケースをモデルにどのように反映させるかによってケースを変更することで解決できます。

36

私はCampaignKeyからCampaignCodeに列名を変更したとき、私はこの問題を持っていました。 DBを変更した後、私は.edmxデザイナーに行き、右クリックしてモデルをデータベースから更新するように選択しました。私がコンパイルされたときに、私はエラーを得た:デザイナーの私のテーブルを詳しく見て撮影

Error 11009: Property CampaignKey is not mapped.

は、Visual Studioは、DBのように新しいフィールドCampaignCodeを作成していたことを私に示しました。しかし、古いフィールドCampaignKeyがそこに残っていたため、DBに存在しなくなったためエラーが発生しました。

この問題を解決するには、デザイナーのテーブルのCampaignKeyフィールドを右クリックし、を削除を選択しました。

その後、.edmxを保存しましたが、エラーはなくなりました。

+1

はい、これは私の場合もそうです..これがバグかどうか知っていますか? – Narayana

+1

このエラーが表示されないようにするには、デザイナーを閉じてからもう一度開く必要があります。 –

2

私はedmxファイルをメモ帳で開き、間違ったフィールドを削除しました。デザイナーでモデルを再度更新しました

+0

テーブルを削除してもう一度追加したくないので、これを試してみました。 Thnx – PawelCz

1

データベースの列名を変更してモデルからデータベースを更新したときと同じエラーが発生しました。私は解決のどこにでも元の名前を見つけることができませんでした。私は(「アップデートモデルを、EDMX背景を右クリックして選択したデータベースからモデルを更新、

  • (、テーブルの上で右クリックし、削除ヒット)単に

    1. モデルからテーブルを削除することによってそれを解決しましたデータベースから、変更されたテーブルを追加)。
  • 0

    私はVS 2008についてのもので、モデルを '回復'していましたが、VS 2015で同じエラー11009が発生したときのようにこれを見つけた人は、 "無駄に、私は最終的に.edmxデザインでモデルテーブルを右クリックし、テーブルマッピングを選択してそれを修正しました。モデルを削除する必要はありませんでした。私のモデルはdbテーブルに関連付けられています。

    0

    データベースファーストモデルのVisual Studio 2017とEntity Framework 6で同じ問題が発生しました。これをリフレッシュして新しい列を取得しました。

    私は上記のすべてを試しましたが、効果があったのはEDMXを削除して新しいものを生成することでした。

    0

    は、私はこのエラー持って(エラー3007:マッピングフラグメントで問題...行から始まる)は、後に

    まず、私が最後に追加されたテーブルを削除し、その後、私は再び更新モデルを.edmxにテーブルを追加しますそのテーブルwihtが、「foreingキーのチェックボックスが含まチェック:あなたのモデルのxmlファイルをチェック

    enter image description here

    関連する問題