web-dev-qa-db-ja.com

Entity Frameworkエラー-エラー11009:プロパティ ''がマップされていません

古いプロジェクトを改善するために、VS 2008とFramework 3.5を使用する状況に追い込まれました-奇妙な動作を示し、必要に応じてエンティティを更新しないedmxの問題があります。

Edmxから上記のエラーがスローされますが、それぞれのテーブルに移動して右クリックします-「データベースからモデルを更新」に変更はありませんが、エラーはまだあります。

テーブルを選択してdelを押して図からテーブルを削除すると、モデルブラウザで.Databaseから消えますが、「データベースからモデルを更新」をクリックすると、「追加」リストにiが表示されません。更新リストにまだ表示されているため、テーブルを「更新」することができます(削除したために発生することはありません!)

42
Amc_rtty

モデルのxmlファイルを確認してください。おそらくまだどこかにあります。そのXMLファイルから手動で削除してから、もう一度更新してください。ただし、必ずバックアップを取ってください。

46
Thousand

列名をCampaignKeyからCampaignCodeに変更すると、この問題が発生しました。 DBの変更を行った後、.edmxデザイナー、右クリックしてデータベースからモデルを更新を選択しました。その後、コンパイルするとエラーが発生しました:

エラー11009:プロパティCampaignKeyがマップされていません。

デザイナーのテーブルをよく見ると、Visual StudioがDBのように新しいフィールドCampaignCodeを作成したことがわかりました。しかし、古いフィールドCampaignKeyもそこに残されていたため、DBに存在しないためエラーが発生しました。

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

その後、.edmx、コンパイルされ、エラーはなくなりました。

40
tjp69

テーブルまたはビューの列名の大文字と小文字が変わるときに、これと同じエラーが発生しました。たとえば、ビューに「OrderID」という名前の列があり、その列名が「OrderId」に変更された場合、「Property "OrderID" is not mapped」というエラーが表示されます。これは、ケースをモデルに存在する方法に戻すことで解決できます。

3
Dave

メモ帳でedmxファイルを開き、誤ったフィールドを削除しました。その後、デザイナーでモデルを再度更新しました

2
Chazza

私はこの質問がVS 2008とモデルの「回復」に関するものであることを知っていますが、VS 2015で同じエラー11009があったときに私がやったようにこれを見つける人のために、最初に「データベースからモデルを更新」を試してみました最後に、.edmxデザインでモデルテーブルを右クリックし、[テーブルマッピング]を選択して修正しました。モデルを削除する必要はありませんでした。私のモデルはdbテーブルに関連付けられています。

2
hullflyer

時々、プロジェクトをアップグレードするとエラーが発生します。

念のため、すべてのデータをバックアップしてください。

エンティティモデルをプロジェクトに追加すると、対応する接続文字列web.configに追加されます=。これで、プロジェクトからモデルを削除しても、接続文字列はweb.configに残っています。

そのため、次の手順を実行します。

  1. モデルを削除する
  2. 対応する接続​​文字列をweb.configから削除します
  3. ここで、モデルを最初から再度追加する手順を実行します。

うまくいけば、うまくいくはずです。

2
Viral Jain

データベースの列名を変更し、モデルからデータベースを更新したときにも同じエラーが発生しました。ソリューションのどこにも元の名前が見つかりませんでした。私は簡単にそれを解決しました

  1. モデルからテーブルを削除する(テーブルを右クリックして[削除]を押す)
  2. データベースからモデルを更新します(edmx backgroundを右クリックし、[データベースからモデルを更新]を選択して、変更されたテーブルを追加します)。
1
CindyH

.edmxにテーブルを追加した後、このエラー(エラー3007:行で始まるフラグメントのマッピングに問題があります...)があります

最初に最後に追加したテーブルを削除してから、そのテーブルでモデルを再更新しますが、「foreing keyを含める」チェックボックスをオンにします。

enter image description here

0
Condemateguadua

新しい列を取得するために更新すると、Database FirstモデルのVisual Studio 2017およびEntity Framework 6で同じ問題が発生しました。

上記のすべてを試してみましたが、唯一機能したのはEDMXを削除して新しいものを生成することでした。

0
chakeda