2011-08-17 20 views
0

小さなWCFデータサービスを作成しました。問題なくデータを追加/取得できます。LINQを使用してWCFデータサービスのデータを編集する

私はすべての権利で、このコレクション「世帯」にセットしました:

config.SetEntitySetAccessRule("HouseHold", EntitySetRights.All); 

問題は、私はちょうど編集することはできませんということです。

HouseHold houseHold = entities.HouseHold.Where(h => h.IDHouseHold == varContainingAnExistingId).FirstOrDefault(); 
houseHold.LastName = "LastName" + DateTime.Now; 
entities.SaveChanges(); 

私が持っていません例外として、私のデータはデータベース内で更新されません。

私に何か不足していますか?私は私の変更を保存するために何かをする必要がありますか?

(私のブレークポイントがentities.SaveChangesに停止する()ので、私はそれが実行されることを完全に確信している)

非常編集を

をありがとう、私はちょうど私たDataServiceContextのApplyingChangesがあることを見ましたfalseに設定されていますが、私が編集できるプロパティではありません。私の問題のリンクがありますか?

答えて

2

私は最終的にコンテキストの方法を模索することにより解決策を見つけた:

WCFデータサービスで追跡変更はありません、あなたは、オブジェクトが変更されたことを指定する必要があります。この問題は、追加/削除時に変更フラグを自動的に入れる特別なメソッドを呼び出さなければならないため、変更するときにのみ発生します。

だから私の例で、次のコードは動作しています:

HouseHold houseHold = entities.HouseHold.Where(h => h.IDHouseHold == varContainingAnExistingId).FirstOrDefault(); 
houseHold.LastName = "LastName" + DateTime.Now; 
entities.UpdateObject(houseHold); 
entities.SaveChanges(); 

UpdateObjectをは重要な変更です。

関連する問題