我需要将客户端上发生的实体更改记录到数据库表中。但是,当我进行更改并检查 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 服务不能共存(这是我所怀疑的),一个跟踪如何变化?