クライアントで発生したエンティティに加えられた変更をデータベーステーブルに記録する必要があります。ただし、変更を加えてChangeTrackerプロパティを調べると、変更が発生していないと表示されます。
[サービス]
private static readonly ISomeDao someDao = DataAccess.SomeDao;
[Query]
public List<SomeEntity> GetSomeEntites(int someId)
{
var entities = someDao.GetSomeEntites(someId);
entities.ForEach(e => e.StartTracking());
return entities;
}
[Update]
public void UpdateSomeEntity(SomeEntity entity)
{
// inspect entity.ChangeTracker.OriginalValues.... nothing
entity.StopTracking();
// inspect entity.ChangeTracker.OriginalValues.... nothing
...
// Update log table
}
[クライアント]
public EntitySet<SomeEntity> SomeEntities
{
get { return _someEntity; }
set
{
if (_someEntity!= value)
{
_someEntity= value;
OnPropertyChanged("SomeEntities");
}
}
}
では、自己追跡エンティティとWCF Riaサービスが共存できない場合(これは私が疑っています)、1つの追跡はどのように変化しますか?