Как изменить сгенерированные операторы INSERT и UPDATE в EF Core?
Я хотел бы добавить несколько идентификаторов, в идеале в качестве комментария SQL:
UPDATE Task SET Name = 'Test' WHERE Id = 1
-- correlationId: abcde12345
В запросах я могу сделать что-то похожее с Linq:
var queryInternal = dbContext.Set<Task>().Where(t => t.Id == 1);
queryInternal.Where(e => correlationId == correlationId);
, который сгенерирует запрос, содержащий мой идентификатор корреляции, без влияния на результат:
SELECT * FROM Task WHERE Id = 1 AND 'abcde12345' = 'abcde12345'
Что я пробовал:
У меня есть доступ к измененным объектам перед вызовом SaveChanges (). Поэтому я попытался установить значения там.
var changes = dbContext.ChangeTracker.Entries;
foreach (var item in changes)
{
item.Property("correlationId").CurrentValue = correlationId;
}
Но для этого требуется фактическое свойство модели и столбец в базе данных.
Есть ли другой способ добавить некоторые произвольные значения в операторы INSERT и UPDATE, не влияя на результат?