0
我有這個代碼在哪裏比較oldState對象的值由currentState在fluent inhibiternate中,我想要的是記錄已更改的屬性及其值,在這裏,我得到了新的和舊的價值,但我也想獲得財產的名稱。是否有可能通過它的值獲取屬性c#
如果我反映@event.Entity
我可以得到所有的屬性和它們的值,所以有什麼辦法通過它的值獲取屬性名稱。
public void OnPostUpdate(NHibernate.Event.PostUpdateEvent @event)
{
var entityToAudit = @event.Entity as IAuditable;
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "AuditLog.txt");
using (StreamWriter sw = File.AppendText(path))
{
for (int i = 0; i < @event.OldState.Length; i++)
{
if (@event.OldState[i] != null)
{
if ([email protected][i].Equals(@event.State[i]))
{
sw.WriteLine("the value has ben changed from " + @event.OldState[i] + " to " + @event.State[i]);
}
}
else
{
if (@event.State[i] != null)
{
sw.WriteLine("the value has ben changed from being empty to " + @event.State[i]);
}
}
}
}
}