Я хотел бы удалить запись, используя структуру объекта.БД является оракулом.
Подход 1:
public void DeleteTask(Guid taskId, string userId)
{
var task = _context.TWFITSKs.FirstOrDefault(x => x.ID == taskId.ToString());//<---Error line
if (task == null) return;
_context.TWFITSKs.Attach(task);
_context.TWFITSKs.Remove(task);
_context.SaveChanges();
}
Ошибка: ORA-00932: несовместимые типы данных: ожидается - получен CLOB
TWFITSK
содержит столбец с типом данных CLOB
, но не уверен, почему это вызывает проблему в этом операторе select.
Подход 2:
public void DeleteTask(Guid taskId, string userId)
{
var task = new TWFITSK { ID = taskId.ToString() };
_context.TWFITSKs.Attach(task); // <--- Error line
_context.TWFITSKs.Remove(task);
_context.SaveChanges();
}
Ошибка: система.InvalidOperationException: «Присоединение объекта типа« XXXXX.TWFITSK »завершилось неудачно, поскольку другой объект того же типа уже имеет то же значение первичного ключа.Это может произойти при использовании метода «Присоединить» или установке состояния объекта на «Неизменено» или «Изменено», если какие-либо объекты в графе имеют конфликтующие значения ключей.Это может быть потому, что некоторые объекты являются новыми и еще не получили сгенерированные базой данных значения ключей.В этом случае используйте метод «Добавить» или «Добавленный» объект сущности для отслеживания графика, а затем установите для состояния не новых объектов «Неизмененный» или «Измененный», в зависимости от ситуации. '
Подход 3:
public void DeleteTask(Guid taskId, string userId)
{
var task = new TWFITSK { ID = taskId.ToString() };
_context.TWFITSKs.Remove(task); //<--- Error line
_context.SaveChanges();
}
Ошибка: невозможно удалить объект, поскольку он не был найден в ObjectStateManager