これは、EF4がモデルファーストで動作する方法が原因です。
最初にモデルファーストモデルを作成すると、SSDLは存在しない状態になります。エンティティをドラッグしたり、関連付けたりすることができますが、EDMXファイルのSSDLを見ると、どのエンティティにもSSDLに関連付けられたストレージテーブルがないことがわかります。
Generate Database From Model
コンテキストメニュー項目をクリックすると、状況が変わります。紛らわしいのは、このアクションは単にDDLスクリプトを生成するだけではないということです。実際、SSMX情報を含むようにEDMXファイルを変更します。この時点から、EDMXファイルは、デザイナー/ CSDL内のすべてのエンティティがSSDL内のエンティティにマップされる必要がある状態になります。マップしない場合は、コンパイル時エラーが発生します。
次のEntitySet / AssociationSetのマッピングが指定されていません-(EntityName)
もう1つの興味深い事実は、コンパイルを妨げる種類のエラーではないということです。実際、出力クラスライブラリを生成します。警告か何かじゃないの?
このエラーを防ぐには、新しいエンティティを挿入した後に行う必要があるのは、Generate Database From Model
もう一度行うことだけです。SSDLが更新され、マッピングが修正されます。
編集
model-firstを使用していない場合に「データベースから更新」すると、DBサーバーでテーブルを削除した場合にもこのエラーが発生します。これは、Entity Frameworkがエンティティを自動的に削除しないためです。エンティティを手動で削除すると、エラーは解消されます。