У меня есть таблица, которая ведет историю изменений в другой таблице.В настоящее время он обновляется с помощью триггера, но я пытаюсь переместить его в структуру сущности.Проблема заключается в том, что в таблице истории необходимо знать, какая сущность изменилась.
У меня есть эти сущности.
public class History
{
[Key]
public int HistoryID { get; set; }
public int SourceID { get; set; }
public string SourceType { get; set; }
}
public class Person
{
[Key]
public int PersonID { get; set; }
public int HistoryID { get; set; }
public virtual History History { get; set; }
}
Когда есть изменение в Person, таблица истории хранит информацию об изменении,Столбец sourceID будет PersonID, а тип источника будет указывать, что это таблица Person.Может быть несколько таблиц, которые могут измениться, поэтому SourceID не всегда PersonID.
PersonID - это столбец идентификаторов.Когда я сохраняю, я не знаю, как установить SourceID = PersonID.PersonID не устанавливается до завершения сохранения.Я мог бы сохранить Человека, а затем сделать вставку для истории, чтобы обернуть это в транзакции.
Есть ли способ решить эту проблему с помощью структуры сущностей?