У нас есть метод MoveFile, который обычно работает, но продолжает давать сбой на сайте заказчика.
if (File.Exists(target))
{
File.Delete(target);
}
File.Move(source, target);
Вызов File.Move
неоднократно терпит неудачу с
] System.IO.IOException: невозможно создать файл, если этот файл уже существует. в System.IO .__ Error.WinIOError (Int32 errorCode, String может бытьFullPath) в System.IO .__ Error.WinIOError () в System.IO.File.Move (String sourceFileName, String destFileName) ...
У меня есть сущность «Интервью», которая имеет взаимно однозначное сопоставление с сущностью «FormSubmission», сущность «Интервью» является доминирующей стороной, так сказать, сопоставление:
<class name="Interview"> <id name="Id" column="Id" type="Int64"> <generator class="identity" /> </id> // other props (snip).... <one-to-one name="Submission" class="FormSubmission" cascade="all-delete-orphan" /> </class> <class name="FormSubmission"> <id name="Id" column="Id" type="Int64"> <generator class="foreign"> <param name="property">Interview</param> </generator> </id> // other props (snip).... <one-to-one name="Interview" class="Interview" constrained="true" cascade="none" /> </class>
Обе сущности являются часть Агрегата с интервью, действующим в качестве агрегатного корня. Я пытаюсь сохранить / обновить / удалить отправку формы через объект Interview, поэтому я сопоставил конец ассоциации Interview как cascade = "all-delete-orphan". Например, я могу создать новую FormSubmission просто так:
myInterview.Submission = new FormSubmission(myInterview); InterviewRepository.Save(myInterview);
... и это работает нормально, FormSubmission сохраняется. Однако я не могу удалить FormSubmission, который я пытаюсь сделать следующим образом:
myInterview.Submission = null; InterviewRepository.Save(myInterview);
... но это не удаляет FormSubmission. Я пробовал присвоить null обеим сторонам ассоциации:
myInterview.Submission.Interview = null; myInterview.Submission = null; InterviewRepository.Save(myInterview);
I ' Мы даже пробовали установить cascade = "all-delete-orphan" на стороне FormSubmission, но ничего не работает. Что мне не хватает?