私は .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 デザイナーで更新する (またはエンティティを削除してから追加する) 必要がある場合があります。