Есть вопрос по клонированию EditableObject
Поясните почему так происходит?
public abstract class MyEntity : EditableObject<MyEntity>
{
public abstract string Name { get; set; }
public abstract long? FKey { get; set; }
}
private void button1_Click(object sender, EventArgs e)
{
MyEntity entity = MyEntity.CreateInstance();
entity.Name = "11111";
entity.FKey = 1;
entity.AcceptChanges();
entity.FKey = null; // тут entity.IsDirty == true
MyEntity clone = entity.Clone(); // здесь clone.IsDirty == false
}
Почему при обнулении поля клонирование так работает?
Например если полю дать любое значение кроме null (например: entity.FKey = 2)
тогда все нормально и clone.IsDirty == true