12
  1. TrackableCollection( )に新しいエンティティを追加しますcontext.Entities.Add(entity)(EntityState = New)
  2. 保存せず、追加したエンティティをTrackableCollection( context.Entities.Remove(entity)) から削除 (EntityState = Unmodified)
  3. 保存。( context.SubmitChanges())

エンティティに関連付けられたデータ注釈からまだ検証エラーが発生します。なぜですか?

    public class Entity
    {
       [Required]
       public string Name { get; set; }
    }
4

2 に答える 2

1

ストアに永続化されていない場合でも、削除されたエンティティのコレクションを追跡しています (ObjectsRemovedFromCollection プロパティにあります)。

このリンクには、内部で何が起こっているかについての詳細情報があります: MSDN

検証を明示的にトリガーするものについての詳細は見つかりませんが、context.SubmitChanges() を呼び出す前に、AcceptChanges() または ObjectsAddedToCollectionProperties.Clear() および ObjectsRemovedFromCollectionProperties.Clear() を呼び出すことができます。

于 2011-06-07T22:38:56.233 に答える
0

試す

context.Entry(entity).State = EntityState.Detached

それから電話する

context.SaveChanges()

;)

于 2011-06-23T07:45:30.210 に答える