EntitySetを更新できません - DefiningQueryがあり、 要素が存在する 質問する

EntitySetを更新できません - DefiningQueryがあり、 要素が存在する 質問する

私は .net 3.5 で Entity Framework 1 を使用しています。

私は次のような簡単なことをやっています:

var roomDetails = context.Rooms.ToList();

foreach (var room in roomDetails)
{        
   room.LastUpdated = DateTime.Now;
}

以下の操作を行おうとすると、このエラーが発生します。

 context.SaveChanges();

次のエラーが発生します:

EntitySet を更新できません。DefiningQuery があり、現在の操作をサポートする <UpdateFunction> 要素が <ModificationFunctionMapping> 要素内に存在しないためです。

コンテキストで多くの更新を行っていますが、問題は発生していません。問題は、この特定のエンティティを更新しようとしたときだけです。

検索すると、更新しようとしているエンティティに主キーが宣言されていないという同じ結果が表示されます。しかし、残念ながら、主キーは宣言されています...

ベストアンサー1

通常、これは次のいずれかの理由で発生します。

  • エンティティセットはデータベースビューからマッピングされます
  • カスタムデータベースクエリ
  • データベーステーブルに主キーがありません

これを実行した後でも、エラーが発生しなくなる前に、Entity Framework デザイナーで更新する (またはエンティティを削除してから追加する) 必要がある場合があります。

おすすめ記事